#WEB安全基础 : HTTP协议 | 0x13 不安全的HTTP

HTTP作为一个大规模使用的网络协议就真的安全了吗?

我们知道互联网为什么叫互联网,你可以在任何地方都可以与之相连,所以在这些可以连接的点上都可以获取互联网的部分信息。

那么HTTP通信时有什么缺点吗?

首先我们在用wireshark抓宝时可以看到报文的全部内容,因此HTTTP是不加密的,它的通信使用明文。

而且它也不会验证通信方的身份,所以可能遭遇伪装。

我们既然可以在中途进行抓宝,所以我们也可以将其篡改,所以在这一点HTTP报文是可以被篡改的。



我们之所以能用抓包工具看清楚HTTP报文中的一切,那就是因为他使用明文传输(即不加密)。

你可以在任何地方监听报文,相同局域网的客户端(C端攻击经常使用此手段),客户端与互联网之间,服务器与互联网之间,或者互联网之内,都可以进行监听。

问题的提出就是为了解决问题,所以人们发明了SSL(安全套接层)和TLS(安全传输层协议),这两个东西可以对HTTP的传输路线进行加密(只是传输路线而不是报文的内容)。

TLS是SSL的升级版,后者是前者的前身。

所以使用了SSL或TLS的HTTP就叫做HTTPS(超文本传输安全协议),HTTPS是在建立的加密通道内进行数据传输,但数据本身并未加密。

使用HTTPS的网站在它的URL上写着https://   这点足以我们分清是否使用HTTPS

如:



在另一方面,为了保证相对安全,内容也可以进行加密,事实上是对报文主体进行加密,而报文头部没有,这在WEB服务器上经常使用,前提是客户端和服务端都要知道如何加密和解密。

但是这种方法并不是对通信线路进行加密(SSL和TSL对线路进行加密),所以当你知道如何解密和加密的时候,也可以篡改内容被加密的报文。



//本系列教程基于《图解HTTP》,此书国内各大购物网站皆可购买



转载请注明出处  by:M_ZPHr

最后修改日期:2019-04-05

原文地址:https://www.cnblogs.com/MZPHr/p/10658238.html

时间: 2024-11-12 13:51:41

#WEB安全基础 : HTTP协议 | 0x13 不安全的HTTP的相关文章

#WEB安全基础 : HTTP协议 | 0x0 TCP/IP四层结构

学完HTML/CSS了? 做了这么多网页,但是你知道它们是怎么工作的吗? 作为你的朋友,我也对这些东西感兴趣,在写博客的同时也在和你一起学. 废话少说,进入正题 网络中的通信包括两个端分别为:客户端(client)和服务器(server) 客户端给服务器发出请求,服务器给客户端返回响应 WEB是在TCP/IP协议族(注意:TCP/IP并不是一个协议而是很多协议组成的协议族)上运作的而HTTP也在这个协议族之内 TCP/IP最重要的是分层,分别是: 1.应用层 2.传输层 3.网络层 4.数据链路

#WEB安全基础 : HTTP协议 | 0x12 MIME多用途邮件扩展以及多部分对象集合

我们是怎么让邮件里又有图片又有文字的? 文字和图片是两个不同的类型,而邮件又是一个类型. C语言的结构体允许用户定义一个含有多类型的自定义类型 像这样,看不懂没关系,你只要知道邮件里有多个类型就可以了  typedef struct myType = { int num; char words[20]; }; 那么在HTTP传输里有什么机制支持邮件可以使用多种类型呢? 猜对了,就是MIME(多用途邮件扩展) 在MIME中会使用多部分对象集合的方法来容纳不同的数据 相应地,HTTP协议也采用了多部

#WEB安全基础 : HTTP协议 | 0x2 HTTP有关协议通信

IP,TCP,DNS协议与HTP协议密不可分 IP(网际协议)位于网络层,几乎所有使用网络的系统都会用到IP协议 IP协议的作用:把数据包发送给对方,要保证确实传送到对方那里,则需要满足各类条件.两个重要条件是IP地址和MAC地址. (IP 不等于 IP地址)IP是协议,IP地址不是 IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址,IP地址可以和MAC地址进行配对,IP地址可交换,但MAC地址基本上不会更改 使用ARP协议凭借MAC地址进行通信 ARP协议是地址解析协议,所属

#WEB安全基础 : HTTP协议 | 0x7 学会使用wireshark分析数据包

wireshark是开源,免费,跨平台的抓包分析工具 我们可以通过wireshark学习HTTP报文和进行抓包分析,在CTF中的流量分析需要用到抓包 1.下载和安装 这是wireshark的官网 https://www.wireshark.org/download.html windows下不必多说,大家肯定会傻瓜式安装,kali linux 系统下自带wireshark 2.wireshark介绍 本地连接是自己的物理机,上面的两个是虚拟机,因为没有开启所以没有数据流 如你所见这个版本的wir

#WEB安全基础 : HTTP协议 | 0x8 HTTP的Cookie技术

说道Cookie,你喜欢吃饼干吗? 这里的Cookie不是饼干=_= HTTP不对请求和响应的通信状态进行保存,所以被称为无状态协议,为了保持状态和协议功能引入了Cookie技术 Cookie技术在请求和响应报文中写入Cookie信息来控制客户端的状态 Cookie根据从服务器发送的请求报文内的一个叫Set-Cookie的首部字段信息,通知客户端保存Cookie,当下次客户端再访问该服务器发送请求时,客户端会自动在请求报文中加入Cookie值后再发送 服务器发现客户端发送的Cookie后,会检查

#WEB安全基础 : HTTP协议 | 0x10 请求和响应报文重点结构及常见头部

你需要认识一些常见的头部以及了解报文的详细结构 请求报文的请求行 GET/HTTP/1.1 响应报文的响应行 HTTP/1.1 200 OK 想必这些大家都知道了 请求 我访问一个页面 Host //访问的域名. \r\n //就是CR-LF Connection //请求保持的时间 User-Insecure-Requests : 1 //服务器可以读懂客户端发出的信息,它以后会用https而不是http User-Agent //客户端的相关信息(系统版本,浏览器版本) Accept //客

#WEB安全基础 : HTTP协议 | 0x10 扩展HTTP报文结构概念和内容编码

#以后的知识都是HTTP协议的扩展,如果精力有限可以选择暂时忽略,注意只是暂时忽略,以后的东西同样重要 HTTP传输数据时可以直接传输也可以对数据进行编码,由于编码在计算机内运行,所以会占用一些CPU资源 报文(message):HTTP通信的基本单位,由八位组字节(由八个bit组成的一字节)流组成通过HTTP通信传输 实体(entity):作为请求或响应的有效载荷数据被传输,其内容由实体首部和实体主体组成 HTTP报文的主体用于传输请求和下响应的实体主体.通常,报文主体等于实体主体,只有当传输

#WEB安全基础 : HTTP协议 | 0x16 HTTPS:加密的秘密

公开秘钥加密&&共享秘钥加密 这两个冗长的短语,让我拿什么理解? 我们知道HTTPS有加密功能,以上的两个短语很常用.先摆在这,接下来开始尝试理解它们. 共享秘钥加密(对称秘钥加密):之所以叫做“共享”,从字面上理解就是通信双方的秘钥是共享的.“对称”不就是通信双方的秘钥相同吗. 使用这种方法通信的双方都使用同一个秘钥,且加密时需要把秘钥发给对方(否则对方没办法解密 就尴尬了) 但是,你就不怕自己的秘钥被劫持.这样劫持者就可以解密了. 所以我们需要另外一种方法即公开密钥加密 公开秘钥加密(

#WEB安全基础 : HTTP协议 | 0x9 GET和POST请求以及请求URI的方式

请求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