公开秘钥加密&&共享秘钥加密 这两个冗长的短语,让我拿什么理解? 我们知道HTTPS有加密功能,以上的两个短语很常用.先摆在这,接下来开始尝试理解它们. 共享秘钥加密(对称秘钥加密):之所以叫做“共享”,从字面上理解就是通信双方的秘钥是共享的.“对称”不就是通信双方的秘钥相同吗. 使用这种方法通信的双方都使用同一个秘钥,且加密时需要把秘钥发给对方(否则对方没办法解密 就尴尬了) 但是,你就不怕自己的秘钥被劫持.这样劫持者就可以解密了. 所以我们需要另外一种方法即公开密钥加密 公开秘钥加密(…
现在想做点什么事都需要证书,要不就会让我们回忆起一个典故:滥竽充数 HTTPS使用了公开密钥加密,如何保证公开密钥就是真正的公开密钥呢?攻击者可能会替换公开密钥,这时候就需要验证,所以它采用了数字证书这种方法. 首先数字证书认证机构(CA)要被信任,然后服务器的管理员才敢去申请数字证书,下面是基本流程: 服务器把公开秘钥发给CA(数字证书认证机构),CA用自己的私有秘钥对服务器发来的公开密钥进行加密,颁发数字签名,在这之前CA的公开密钥已经植入到浏览器里了 然后,用户访问服务器时,用CA的公开密…
"你好,我是HTTPS,我只是披了个外壳,我还是原来的HTTP." 这是HTTPS叫我转达给你的话. HTTPS本质上就是HTTP,只不过加了点调料.它比HTTP更安全,使用了加密措施和认证措施. 使用HTTPS通信双方都持有证书,且通信线路经过加密和完整性保护(为了不被篡改报文) 事实上HTTPS就是给HTTP加上一层SSL和TLS的外壳,就像两个门神... HTTPS和TCP通信时,先由HTTP和SSL或TLS通信,然后是SSL和TCP通信,SSL或TLS就成为了一条较为安全的桥梁…
本系列讲解WEB安全所需要的HTTP协议 #WEB安全基础 : HTTP协议 | 0x0 TCP/IP四层结构 #WEB安全基础 : HTTP协议 | 0x1 TCP/IP通信 #WEB安全基础 : HTTP协议 | 0x2 HTTP有关协议通信 #WEB安全基础 : HTTP协议 | 0x3 TCP三次握手和DNS服务  #WEB安全基础 : HTTP协议 | 0x4 各种协议与HTTP协议的关系(一个报文的旅行) #WEB安全基础 : HTTP协议 | 0x5 URI和URL #WEB安全基…
HTTP作为一个大规模使用的网络协议就真的安全了吗? 我们知道互联网为什么叫互联网,你可以在任何地方都可以与之相连,所以在这些可以连接的点上都可以获取互联网的部分信息. 那么HTTP通信时有什么缺点吗? 首先我们在用wireshark抓宝时可以看到报文的全部内容,因此HTTTP是不加密的,它的通信使用明文. 而且它也不会验证通信方的身份,所以可能遭遇伪装. 我们既然可以在中途进行抓宝,所以我们也可以将其篡改,所以在这一点HTTP报文是可以被篡改的. 我们之所以能用抓包工具看清楚HTTP报文中的一…
学完HTML/CSS了? 做了这么多网页,但是你知道它们是怎么工作的吗? 作为你的朋友,我也对这些东西感兴趣,在写博客的同时也在和你一起学. 废话少说,进入正题 网络中的通信包括两个端分别为:客户端(client)和服务器(server) 客户端给服务器发出请求,服务器给客户端返回响应 WEB是在TCP/IP协议族(注意:TCP/IP并不是一个协议而是很多协议组成的协议族)上运作的而HTTP也在这个协议族之内 TCP/IP最重要的是分层,分别是: 1.应用层 2.传输层 3.网络层 4.数据链路…
我们提到过HTTP是不安全的. 由于任何人都可以向服务器发送请求,而并不会验证身份,所以这就会引发一些问题: 1,发出响应的服务器是否为正确的服务器 2,发送请求的客户端是否为正确的客户端 3,通信双方是否有浏览信息的权限 4,传输的海量数据可能是无用的,这样就造成了拒绝服务攻击 这些问题让HTTP不堪一击,但是HTTPS解决了这些问题: SSL提供证书,验证双方是否为正确的通信双方. 客户端会在和服务器通信前确认证书 HTTP也不知道报文是否被修改,这一点也值得注意,在报文传输中可能被拦截,修…
我们是怎么让邮件里又有图片又有文字的? 文字和图片是两个不同的类型,而邮件又是一个类型. C语言的结构体允许用户定义一个含有多类型的自定义类型 像这样,看不懂没关系,你只要知道邮件里有多个类型就可以了  typedef struct myType = { int num; char words[20]; }; 那么在HTTP传输里有什么机制支持邮件可以使用多种类型呢? 猜对了,就是MIME(多用途邮件扩展) 在MIME中会使用多部分对象集合的方法来容纳不同的数据 相应地,HTTP协议也采用了多部…
你需要认识一些常见的头部以及了解报文的详细结构 请求报文的请求行 GET/HTTP/1.1 响应报文的响应行 HTTP/1.1 200 OK 想必这些大家都知道了 请求 我访问一个页面 Host //访问的域名. \r\n //就是CR-LF Connection //请求保持的时间 User-Insecure-Requests : 1 //服务器可以读懂客户端发出的信息,它以后会用https而不是http User-Agent //客户端的相关信息(系统版本,浏览器版本) Accept //客…
wireshark是开源,免费,跨平台的抓包分析工具 我们可以通过wireshark学习HTTP报文和进行抓包分析,在CTF中的流量分析需要用到抓包 1.下载和安装 这是wireshark的官网 https://www.wireshark.org/download.html windows下不必多说,大家肯定会傻瓜式安装,kali linux 系统下自带wireshark 2.wireshark介绍 本地连接是自己的物理机,上面的两个是虚拟机,因为没有开启所以没有数据流 如你所见这个版本的wir…
#以后的知识都是HTTP协议的扩展,如果精力有限可以选择暂时忽略,注意只是暂时忽略,以后的东西同样重要 HTTP传输数据时可以直接传输也可以对数据进行编码,由于编码在计算机内运行,所以会占用一些CPU资源 报文(message):HTTP通信的基本单位,由八位组字节(由八个bit组成的一字节)流组成通过HTTP通信传输 实体(entity):作为请求或响应的有效载荷数据被传输,其内容由实体首部和实体主体组成 HTTP报文的主体用于传输请求和下响应的实体主体.通常,报文主体等于实体主体,只有当传输…
TCP/IP是如何通信的呢? 请看图 用TCP/IP协议族通信时,会通过分层顺序与对方进行通信.发送端从应用层往下走,接受层从链路层往上走. 客户端为了浏览界面在应用层发送请求,为了方便传输在传输层的TCP协议把应用层发来的数据分割,并在每个报文上标记序号和端口号后转发给网络层 在网络层的IP协议增加作为通信目的地的MAC地址后转发给链路层 接收端的服务器在链路层接收数据,按序往上层传送到应用层,这就是真正接收到客户端发送过来的请求 请看下图加以理解 发送端在层和层之间传输数据时,每经过一层一定…
IP,TCP,DNS协议与HTP协议密不可分 IP(网际协议)位于网络层,几乎所有使用网络的系统都会用到IP协议 IP协议的作用:把数据包发送给对方,要保证确实传送到对方那里,则需要满足各类条件.两个重要条件是IP地址和MAC地址. (IP 不等于 IP地址)IP是协议,IP地址不是 IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址,IP地址可以和MAC地址进行配对,IP地址可交换,但MAC地址基本上不会更改 使用ARP协议凭借MAC地址进行通信 ARP协议是地址解析协议,所属…
TCP三次握手精准无误地把数据送达目标处,TCP协议把数据包送出去后,向对方确认是否成功发送,握手过程中使用了TCP的标志(flag)——SYN和ACK 请看图 若握手中断,TCP协议再次从同样顺序发送相同数据包,除了三次握手,还有其他手段来保证通信的可靠性. DNS服务和HTTP协议一样在应用层,提供域名到IP地址之间的解析服务. DNS服务给计算机分配IP地址 计算机既可以被赋予IP地址,也可以被赋予主机名和域名,如:www.hackr.jp 用户容易理解域名,但计算机容易理解IP地址,所以…
报文是怎么旅行的呢? 在网络中有很多引路人,如HTTP协议,IP协议.TCP协议.DNS协议以及ARP协议. 请看下图,演绎一个报文的旅程 这就是一个报文的完整请求过程,请加以理解并记忆 //本系列教程基于<图解HTTP>,此书国内各大购物网站皆可购买 转载请注明出处  by:M_ZPHr 最后修改日期:2019-01-31…
欢迎来到HTTP最精彩的部分 请注意:应用HTTP协议时,必定有一方担任客户端,另一方担任服务器 客户端向服务器发出请求,服务器向客户端返回响应 下面是一个请求与相应的例子: 请求: GET /index.htm HTTP/1.1 HOST:hackr.jp Connect:keep-alive Content-Type: application/x-www-form-urlen coded CR+LF name=ueno%age=37 GET是访问服务器用的HTTP请求方法 常用的是GET和P…
说道Cookie,你喜欢吃饼干吗? 这里的Cookie不是饼干=_= HTTP不对请求和响应的通信状态进行保存,所以被称为无状态协议,为了保持状态和协议功能引入了Cookie技术 Cookie技术在请求和响应报文中写入Cookie信息来控制客户端的状态 Cookie根据从服务器发送的请求报文内的一个叫Set-Cookie的首部字段信息,通知客户端保存Cookie,当下次客户端再访问该服务器发送请求时,客户端会自动在请求报文中加入Cookie值后再发送 服务器发现客户端发送的Cookie后,会检查…
HTTP通信中,请求的编码实体资源没全部传输完成之前,浏览器无法显示页面,所以传输大容器数据时,把数据分块,能让浏览器逐步显示页面,这就叫分块传输模块 请看分块传输的流程图 每一块都会用十六进制来标记块的大小,而实体主体的最后一块会使用“0(CR-LF)”来标记 使用分块传输编码的实体主体会由接收内容的客户端负责解码,恢复到编码前的实体主体 HTTP/1.1 存在一种传输编码的机制,他可以在通信时按照某种编码方式来传输,但只定义作用于分块传输编码中 对于编码的研究,以后可以仔细学习,如算法,密码…
请求URI的方式 1.URI为完整的请求URI GET http://hackr.jp/index.htm HTTP/1.1 2.在首部字段Host中写明域名或IP地址 GET/index.htm HTTP/1.1 Host:hackr.jp 3.用一个*代表请求(前提是:不是访问特定资源而是对服务器本身发器请求) OPITIONS * HTTP/1.1 //OPTION是获取访问的服务器支持的HTTP请求方法 GET和POST 首先我们先看一下GET请求 首先用任意一个浏览器打开网页:http…
URI(统一资源标识符)和URL(统一资源定位符)相信大家都知道URL吧,我们看看它们有什么区别 URI 长得就像这样 /images/hackr.jepg URL 长得像这样 http://hackr.jp 关于URL的格式请看下图 关于片段标识符和查询字符串,我们在html上使用过 关于查询字符串 关于片段标识符 //本系列教程基于<图解HTTP>,此书国内各大购物网站皆可购买 转载请注明出处  by:M_ZPHr 最后修改日期:2019-02-01…
一.爬虫的相关概念 1.什么是爬虫 互联网:由网络设备(网线,路由器,交换机,防火墙)和一台台计算机连接而成,像一张网一样. 互联网建立目的:互联网的核心价值在与数据的共享/传递:数据是存放在一台台机器上,将计算机联到一起的目的为了能方便彼此之间的数据共享/传递,否则你只能拿U盘去别人的计算机上拷贝数据. 爬虫概念 爬虫就是通过编写程序模拟浏览器上网,然后让其去互联网上抓取数据的过程. 爬虫分类 通用爬虫:爬取整个页面源码数据,抓取数据 聚焦爬虫:爬取一个页面中局部的数据(数据解析),也就是有用…
前言 当今时代对上网的安全性要求比以前更高,chrome和firefox也都大力支持网站使用HTTPS,苹果也从2017年开始在iOS 10系统中强制app使用HTTPS来传输数据,微信小程序也是要求必须使用HTTPS请求,由此可见HTTPS势在必行. 部落在这里主要给大家介绍一下什么是HTTPS,以及如何使用Let’s Encrypt免费证书为网站启用HTTPS加密传输协议. HTTPS简介 HTTP协议被用于在Web浏览器和网站服务器之间传递信息.HTTP协议以明文方式发送内容,不提供任何方…
系列文章传送门: 网络协议 1 - 概述 网络协议 2 - IP 是怎么来,又是怎么没的? 网络协议 3 - 从物理层到 MAC 层 网络协议 4 - 交换机与 VLAN:办公室太复杂,我要回学校 网络协议 5 - ICMP 与 ping:投石问路的侦察兵 网络协议 6 - 路由协议:敢问路在何方? 网络协议 7 - UDP 协议:性善碰到城会玩 网络协议 8 - TCP 协议(上):性恶就要套路深 网络协议 9 - TCP协议(下):聪明反被聪明误 网络协议 10 - Socket 编程(上)…
#HTML    什么是HTML,和他ML...    网页可以比作一个装修好了的,可以娶媳妇的房子.    房子分为:毛坯房,精装修    毛坯房的修建: 砖,瓦,水泥,石头,石子....    精装修的房子:在毛坯房的基础上进行粉刷,覆盖,雕琢,修饰等操作....        HTML标签 相当于盖毛坯房用的石子,砖瓦....:房子成功,但是不会很好看.    CSS属性  相当于装修时候使用的刷子,涂料,扣板...: 可以让毛坯房变得更加美观    HTML    超文本标记语言. Hy…
一.SSL协议简介 SSL是Secure Socket Layer的缩写,中文名为安全套接层协议层.使用该协议后,您提交的所有数据会首先加密后,再提交到网易邮箱,从而可以有效防止黑客盗取您的用户名.密码和通讯内容,保证了您个人内容的安全. 具体地说,SSL (Secure Socket Layer) 为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络 上之传输过程中不会被截取及窃听.目前一般通用之规格为40 bit之安…
1.前言 在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容.TCP/IP协议是分层的,从底层至应用层分别为:物理层.链路层.网络层.传输层和应用层,如下图所示: 2.http协议简介 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,HTTP协议是一种应用层协议,由请求和响应构成,是一个标准的客户端服务器模型.HTTP可以通过传输层的TCP协议在客户端和服务器之间传输数据.HTTP协议主要用于Web浏览器和Web…
Web服务基础 用户访问网站的基本流程 我们每天都会用web客户端上网,浏览器就是一个web客户端,例如谷歌浏览器,以及火狐浏览器等. 当我们输入www.oldboyedu.com/时候,很快就能看到老男孩教育的官网了,这一切看起来很平淡无奇,背后又是什么道理呢?普通人可以不知道,但是咱们作为it开发人员,必须得掌握清楚背后的技术. 下面超哥为你揭晓用户访问网站的基本流程 老男孩教育某python总监,讲了一天课感觉很累,下了班躺床上打开他的macbook pro,双击浏览器,输入www.por…
#web服务基础知识c/s 客户端/服务器b/s 浏览器/服务器 nginx   >   web  server  服务端浏览器  >    web  client  客户端 #dns解析流程 1.首先用户输入一段url,在浏览器  www.oldboyedu.com 2.(dns解析的第一步)浏览器会首先在你的机器上,寻找一个hosts文件,这是本地测试dns解析文件2.(第二步)如果hosts文件未指定解析记录,浏览器就去机器的dns缓存中寻找解析记录  LDNS(local dns缓存)…
一.https介绍:    HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版.即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL. 它是一个URI scheme(抽象标识符体系),句法类同http:体系.用于安全的HTTP数据传输.https:URL表明它使用了HTTPS,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验…
1.前言 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号.密码等支付信息. 为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和…