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

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

  1. #WEB安全基础 : HTTP协议 | 文章索引

    本系列讲解WEB安全所需要的HTTP协议 #WEB安全基础 : HTTP协议 | 0x0 TCP/IP四层结构 #WEB安全基础 : HTTP协议 | 0x1 TCP/IP通信 #WEB安全基础 : ...

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

    学完HTML/CSS了? 做了这么多网页,但是你知道它们是怎么工作的吗? 作为你的朋友,我也对这些东西感兴趣,在写博客的同时也在和你一起学. 废话少说,进入正题 网络中的通信包括两个端分别为:客户端( ...

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

    我们是怎么让邮件里又有图片又有文字的? 文字和图片是两个不同的类型,而邮件又是一个类型. C语言的结构体允许用户定义一个含有多类型的自定义类型 像这样,看不懂没关系,你只要知道邮件里有多个类型就可以了 ...

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

    公开秘钥加密&&共享秘钥加密 这两个冗长的短语,让我拿什么理解? 我们知道HTTPS有加密功能,以上的两个短语很常用.先摆在这,接下来开始尝试理解它们. 共享秘钥加密(对称秘钥加密): ...

  5. #WEB安全基础 : HTTP协议 | 0x15 HTTPS:给你点颜色看看

    "你好,我是HTTPS,我只是披了个外壳,我还是原来的HTTP." 这是HTTPS叫我转达给你的话. HTTPS本质上就是HTTP,只不过加了点调料.它比HTTP更安全,使用了加密 ...

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

    #以后的知识都是HTTP协议的扩展,如果精力有限可以选择暂时忽略,注意只是暂时忽略,以后的东西同样重要 HTTP传输数据时可以直接传输也可以对数据进行编码,由于编码在计算机内运行,所以会占用一些CPU ...

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

    你需要认识一些常见的头部以及了解报文的详细结构 请求报文的请求行 GET/HTTP/1.1 响应报文的响应行 HTTP/1.1 200 OK 想必这些大家都知道了 请求 我访问一个页面 Host // ...

  8. #WEB安全基础 : HTTP协议 | 0x1 TCP/IP通信

    TCP/IP是如何通信的呢? 请看图 用TCP/IP协议族通信时,会通过分层顺序与对方进行通信.发送端从应用层往下走,接受层从链路层往上走. 客户端为了浏览界面在应用层发送请求,为了方便传输在传输层的 ...

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

    IP,TCP,DNS协议与HTP协议密不可分 IP(网际协议)位于网络层,几乎所有使用网络的系统都会用到IP协议 IP协议的作用:把数据包发送给对方,要保证确实传送到对方那里,则需要满足各类条件.两个 ...

随机推荐

  1. C# 数据为空,不能对NULL调用此方法或属性的解决办法

    在运行C#项目时,报出了以下错误,错误原因是数据库中的值为null时,查询时会触发该错误提示 部分源代码如下: public List<Student> findData2() { ; / ...

  2. 认识vim 编辑器

    vim编辑器 vim编辑器的重点是光标的移动,模式切换,删除,查找,替换,复制,撤销命令的使用. vim 有三种模式: 命令模式,编辑模式,末行模式 vim打开方式: 语法: vim 文件路径 vim ...

  3. helm-chart6,子chart 和全局值

    chart可以有称为子chart的依赖关系 关于子chart 1,子chart认为是"独立的",即子chart不能明确依赖于其父chart. 2,子chart无法访问其父项的值. ...

  4. VIM编辑器用法

    Vim (vim + filename有则进入文件,无则创建并进入文件)>进入编辑模式,包括命令模式.插入模式.末行模式,具体命令: 按esc进入命令模式 按'shift' + ':'进入末行模 ...

  5. mac上adb command not found

    第一种报错(使用的自带mac命令行) bash: adb: command not found 1.vim ~/.bash_profile ,如果.bash_profile不存在,先touch ~/. ...

  6. Spark on Yarn with HA

    Spark 可以放到yarn上面去跑,这个毫无疑问.当Yarn做了HA的时候,网上会告诉你基本Spark测不需做太多的关注修改,实际不然. 除了像spark.yarn开头的相关配置外,其中一个很重要的 ...

  7. Java课程2019年3月开学测试

    一.登录界面 模板的验证方式已经写在了function里面,我们只需要在提交的过程中进行验证. 我们这里需要注意到的是在login文件夹中,有一个randcode的验证码生成文件,打开代码我们可以看到 ...

  8. 黑盒测试实践——day03

    一.任务进展情况 目前基本确定选取的测试工具是Testwriter,测试的web系统还在待定状态,小组成员都在网上搜集相关知识,学习相关的测试技术.        二.存在的问题 Testwriter ...

  9. C#获取变更过的DataTable记录的实现方法

    本文实例讲述了C#获取变更过的DataTable记录的实现方法,是一个非常实用的功能!具体实现方法如下: 首先DataTable可以看做是一个物理表的内存式存储,每一个DataRow都有一个属性叫做R ...

  10. Django学习之django自带的contentType表 GenericRelation GenericForeignKey

    Django学习之django自带的contentType表   通过django的contentType表来搞定一个表里面有多个外键的简单处理: 摘自:https://blog.csdn.net/a ...