我们提到过HTTP是不安全的. 由于任何人都可以向服务器发送请求,而并不会验证身份,所以这就会引发一些问题: 1,发出响应的服务器是否为正确的服务器 2,发送请求的客户端是否为正确的客户端 3,通信双方是否有浏览信息的权限 4,传输的海量数据可能是无用的,这样就造成了拒绝服务攻击 这些问题让HTTP不堪一击,但是HTTPS解决了这些问题: SSL提供证书,验证双方是否为正确的通信双方. 客户端会在和服务器通信前确认证书 HTTP也不知道报文是否被修改,这一点也值得注意,在报文传输中可能被拦截,修…
本系列讲解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安全基…
学完HTML/CSS了? 做了这么多网页,但是你知道它们是怎么工作的吗? 作为你的朋友,我也对这些东西感兴趣,在写博客的同时也在和你一起学. 废话少说,进入正题 网络中的通信包括两个端分别为:客户端(client)和服务器(server) 客户端给服务器发出请求,服务器给客户端返回响应 WEB是在TCP/IP协议族(注意:TCP/IP并不是一个协议而是很多协议组成的协议族)上运作的而HTTP也在这个协议族之内 TCP/IP最重要的是分层,分别是: 1.应用层 2.传输层 3.网络层 4.数据链路…
HTTP作为一个大规模使用的网络协议就真的安全了吗? 我们知道互联网为什么叫互联网,你可以在任何地方都可以与之相连,所以在这些可以连接的点上都可以获取互联网的部分信息. 那么HTTP通信时有什么缺点吗? 首先我们在用wireshark抓宝时可以看到报文的全部内容,因此HTTTP是不加密的,它的通信使用明文. 而且它也不会验证通信方的身份,所以可能遭遇伪装. 我们既然可以在中途进行抓宝,所以我们也可以将其篡改,所以在这一点HTTP报文是可以被篡改的. 我们之所以能用抓包工具看清楚HTTP报文中的一…
我们是怎么让邮件里又有图片又有文字的? 文字和图片是两个不同的类型,而邮件又是一个类型. C语言的结构体允许用户定义一个含有多类型的自定义类型 像这样,看不懂没关系,你只要知道邮件里有多个类型就可以了  typedef struct myType = { int num; char words[20]; }; 那么在HTTP传输里有什么机制支持邮件可以使用多种类型呢? 猜对了,就是MIME(多用途邮件扩展) 在MIME中会使用多部分对象集合的方法来容纳不同的数据 相应地,HTTP协议也采用了多部…
公开秘钥加密&&共享秘钥加密 这两个冗长的短语,让我拿什么理解? 我们知道HTTPS有加密功能,以上的两个短语很常用.先摆在这,接下来开始尝试理解它们. 共享秘钥加密(对称秘钥加密):之所以叫做“共享”,从字面上理解就是通信双方的秘钥是共享的.“对称”不就是通信双方的秘钥相同吗. 使用这种方法通信的双方都使用同一个秘钥,且加密时需要把秘钥发给对方(否则对方没办法解密 就尴尬了) 但是,你就不怕自己的秘钥被劫持.这样劫持者就可以解密了. 所以我们需要另外一种方法即公开密钥加密 公开秘钥加密(…
"你好,我是HTTPS,我只是披了个外壳,我还是原来的HTTP." 这是HTTPS叫我转达给你的话. HTTPS本质上就是HTTP,只不过加了点调料.它比HTTP更安全,使用了加密措施和认证措施. 使用HTTPS通信双方都持有证书,且通信线路经过加密和完整性保护(为了不被篡改报文) 事实上HTTPS就是给HTTP加上一层SSL和TLS的外壳,就像两个门神... HTTPS和TCP通信时,先由HTTP和SSL或TLS通信,然后是SSL和TCP通信,SSL或TLS就成为了一条较为安全的桥梁…
#以后的知识都是HTTP协议的扩展,如果精力有限可以选择暂时忽略,注意只是暂时忽略,以后的东西同样重要 HTTP传输数据时可以直接传输也可以对数据进行编码,由于编码在计算机内运行,所以会占用一些CPU资源 报文(message):HTTP通信的基本单位,由八位组字节(由八个bit组成的一字节)流组成通过HTTP通信传输 实体(entity):作为请求或响应的有效载荷数据被传输,其内容由实体首部和实体主体组成 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 //客…
TCP/IP是如何通信的呢? 请看图 用TCP/IP协议族通信时,会通过分层顺序与对方进行通信.发送端从应用层往下走,接受层从链路层往上走. 客户端为了浏览界面在应用层发送请求,为了方便传输在传输层的TCP协议把应用层发来的数据分割,并在每个报文上标记序号和端口号后转发给网络层 在网络层的IP协议增加作为通信目的地的MAC地址后转发给链路层 接收端的服务器在链路层接收数据,按序往上层传送到应用层,这就是真正接收到客户端发送过来的请求 请看下图加以理解 发送端在层和层之间传输数据时,每经过一层一定…