HTTP协议相关漏洞

一、HTTP协议

HTTP是一个基于请求与响应模式的、无状态的应用层协议。
常基于TCP的连接方式 ,即http是将数据打包成TCP数据包来进行传送的,绝大多数Web应用,都是构建在HTTP协议之上,即目前使用浏览器访问web网站都是以http协议为标准的。

1、HTTP协议工作原理

客户机与服务器建立连接后,浏览器可以向web服务器发送请求并显示收到的网页,当用户在浏览器地址栏中输入一个URL或点击一个超连接时,浏览器就向服务器发出了HTTP请求,请求方式的格式为:统一资源标识符、协议版本号,后边是MIME(Multipurpose Internet Mail Extensions)信息包括请求修饰符、客户机信息和可能的内容。该请求被送往由URL指定的WEB服务器,WEB服务器接收到请求后,进行相应反映,其格式为:一个状态行包括信息的协议版本号、一个成功或错误的代码,后边服务器信息、实体信息和可能的内容。即以HTTP规定的格式送回所要求的文件或其他相关信息,再由用户计算机上的浏览器负责解释和显示。

2、HTTP协议的方法

GET :请求获取Request-URI所标识的资源
POST :在Request-URI所标识的资源后附 加新的数据
HEAD:请求获取由Request-URI所标识的资源的响应消息报头
PUT: 请求服务器存储一个资源,并用Request-URI作为其标识
DELETE:请求服务器删除Request-URI所标识的资源
TRACE:请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT:保留将来使用
OPTIONS:请求查询服务器的性能或查询与资源相关的选项等

3、HTTP状态码

类别原因短语
1XXInformational(信息性状态码)接收的请求正在处理
2XXSuccess(成功状态码)请求正常处理完毕
3XXRedirection(重定向状态码)需要进行附加操作以完成请求
4XXClient Error(客户端错误状态码)服务器无法处理请求
5XXServer Error(服务端错误状态码)服务器处理请求出错

常见的HTTP状态码

200 OK
204 No Content
   一般在只需要从客户端往服务器发送信息,而对客户端不需要发送新信息内容的情况下使用.
206 Partial Content
   该状态码表示客户端进行了范围请求,而服务器成功执行了这部分的GET请求.响应报文中包含由Content-Range指定范围的实体内容.
 301 Moved Permanently
   永久性重定向.请求资源的URI已变更.
302 Found
   临时性重定向.
303 SEE OTHER
   该状态码表示由于请求对应的资源存在着另一个URI,应使用GET方法定向获取请求的资源
304 Not Modified
   该状态码表示客户端发送附带条件的请求时,服务器端允许请求访问资源,但为满足条件的情况.
307 Temporary Redirect
   临时重定向,类似302
400 Bad Request
   该状态码表示请求报文中存在语法错误
401 Unauthorized
   需要认证/认证失败
403 Forbidden
   未被授权
404 Not Found
500 Internal Server Error
503 Service Unavailable
   该状态码表明服务器暂时处于超负载或正在进行停机维护,现在无法处理请求.

二、HTTP的缺点

1、明文传输

通信使用明文可能会被窃听

1.1、TCP/IP 是可能被窃听的网络

互联网上流动的数据可能被恶意窥视, 被抓包(Packet Capture)或嗅探器(Sniffer)工具收集到数据包并解析,eg: Wireshark, 可以获取HTTP协议的请求和响应的内容,并对其进行解析

1.2、加密处理防止被窃听

通信的加密
HTTP协议中没有加密机制,可以通过和SSL或TLS的组合使用,加密HTTP的通信内容.

 HTTPS -> HTTP + SSL ->HTTP Secure / HTTP over SSL

内容的加密
对报文主体进行机密处理,前提是要求客户端和服务端同时具备加密和解密机制.

2、不安全认证

不验证通信方的身份,因此有可能遭遇伪装

  • 任何人都可发起请求
  • 查明对手的证书
    SSL不仅提供加密处理,而且使用了证书以确定通信方的身份.

3、无法判断报文完整性

无法证明报文的完整性,所以有可能已遭篡改

接收到的内容可能有误
中间人攻击(Man-in-the-Middle attack,MITM): 请求或响应在传输途中,遭攻击者拦截并篡改内容的攻击.
如何防止篡改
常用的是 MD5和SHA-1等散列值校验的方法,以及用来确认文件的数字签名方法.
提供下载服务的网站,比如Apache相关的软件下载,会提供以PGP(Pretty Good Privacy,完美隐私)创建的签名及MD5算法生成的散列值.

三、HTTP首部注入攻击

HTTP首部注入攻击(HTTP Header Injection)是指攻击者通过在响应首部字段内插入换行,添加任何响应首部或主体的一种攻击.属于被动攻击模式。

向首部主体内添加内容的攻击称为HTTP响应截断攻击(HTTPResponse Splitting Attack)

如下所示,Web应用有时会把从外部接收到的数值,赋给响应首部字段Location和Set-Cookie

Location: http://www.example.com/a.cgi?q=12345
Set-Cookie: UID=12345

HTTP首部注入攻击有可能造成以下影响:

  • 设置任何Cookie信息
  • 重定向至任何URL
  • 显示任意的主体(HTTP响应截断攻击, HTTP Response Splitting Attack)

1、设置任何Cookie信息

下面我们以选定某个类别后即可跳转至各类别对应页面的功能为例,讲解HTTP首部注入攻击。该功能为每个类别都设定了一个类别ID值,一旦选定某类别,就会将该ID值反映在响应内的Location首部字段内,形如

Location: http://example.com/?cat=101

令浏览器发生重定向跳转

在这里插入图片描述

攻击者以下面的内容替代之前的类别ID后发送请求

101%0D%0ASet-Cookie:+SID=123456789

其中,%0D%0A代表HTTP报文中的换行符,紧接着的是可强制将攻击者网站的会话ID设置成SID=123456789的Set-Cookie首部字段。

发送该请求之后,假设结果返回以下响应

Location:http://example.com/?cat=101(%0D%0A:换行符)
Set-Cookie:SID=123456789

此刻,首部字段Set-Cookie已生效,因此攻击者可指定修改任意的Cookie信息。通过和会话固定攻击(攻击者可使用指定的会话ID)攻击组合,攻击者可伪装成用户

攻击者输入的%0D%0A,原本应该属于首部字段Location的查询值部分,但经过解析后,%0D%0A变成了换行符,结果插入了新的首部字段

这样一来,攻击者可在响应中插入任意的首部字段

2、重定向至任何URL

该功能就是向URL指定参数后,使本来的URL发生重定向跳转

http://example.com/?redirect=http://www.tricorder.jp

攻击者把重定向指定的参数改写成已设好陷阱的Web网站对应的连接,如下所示

http://example.com/?redirect=http://hackr.jp

用户看到URL后原以为访问example.com,不料实际上被诱导至hackr.jp这个指定的重定向目标

可信度高的Web网站如果开放重定向功能,则很有可能被攻击者选中并用来作为钓鱼攻击的跳板

3、HTTP响应截断攻击

HTTP响应截断攻击是用在HTTP首部注入的一种攻击。攻击顺序相同,但是要将两个%0D%0A%0D%0A并排插入字符串后发送。利用这两个连续的换行就可作出HTTP首部与主体分隔所需的空行了,这样就能显示伪造的主体,达到攻击目的。这样的攻击叫做HTTP响应截断攻击

%0D%0A%0D%0A<HTML><HEAD><TITLE>之后,想要显示的网页内容<!--

在可能进行HTTP首部注入的环节,通过发送上面的字符串,返回结果得到以下这种响应

Set-Cookie: UID=(%0D%0A :换行符)
(%0D%0A :换行符)
<HTML><HEAD><TITLE>之后,想要显示的网页内容(原来页面对应的首部字段和主体部分全视为注释)

利用这个攻击,已触发陷阱的用户浏览器会显示伪造的Web页面,再让用户输入自己的个人信息等,可达到和跨站脚本攻击相同的效果

另外,滥用HTTP/1.1中汇集多响应返回功能,会导致缓存服务器对任意内容进行缓存操作。这种攻击称为缓存污染。使用该缓存服务器的用户,在浏览遭受攻击的网站时,会不断地浏览被替换掉的Web网页

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
网络协议与安全 网络协议与安全讲义全文共39页,当前为第1页。 OSI模型 OSI模型,即开放式通信系统互联参考模型(Open System Interconnection Reference Model),是国际标准化组织(ISO)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架,简称OSI Application Presentation Session Transport Network Data Link Physical 网络协议与安全讲义全文共39页,当前为第2页。 OSI参考模型中的数据封装过程 网络协议与安全讲义全文共39页,当前为第3页。 TCP/IP和OSI的对应关系 网络协议与安全讲义全文共39页,当前为第4页。 TCP/IP协议体系结构 TCP/IP的工作过程动画 、SMTP、HTTP TCP、 UDP IP、ARP、RARP、ICMP 各种设备驱动程序和网络接口 应用层 传输层 网络层 链路层 网络协议与安全讲义全文共39页,当前为第5页。 网络协议安全问题 (TCP/IP数据封装动画演示) 网络协议与安全讲义全文共39页,当前为第6页。 ARP协议 功能:负责将某个IP地址解析成对应的MAC地址视频 地址解析过程: ARP缓存:静态项和动态项 相关命令: RARP 协议漏洞:无连接;无认证 常见攻击:ARP欺骗;拒绝服务攻击 解决办法: 网络协议与安全讲义全文共39页,当前为第7页。 9、要学生做的事,教职员躬亲共做;要学生学的知识,教职员躬亲共学;要学生守的规则,教职员躬亲共守。23.6.423.6.4Sunday, June 4, 2023 10、阅读一切好书如同和过去最杰出的人谈话。09:03:0709:03:0709:036/4/2023 9:03:07 AM 11、一个好的教师,是一个懂得心理学和教育学的人。23.6.409:03:0709:03Jun-234-Jun-23 12、要记住,你不仅是教课的教师,也是学生的教育者,生活的导师和道德的引路人。09:03:0709:03:0709:03Sunday, June 4, 2023 13、He who seize the right moment, is the right man.谁把握机遇,谁就心想事成。23.6.423.6.409:03:0709:03:07June 4, 2023 14、谁要是自己还没有发展培养和教育好,他就不能发展培养和教育别人。2023年6月4日星期日上午9时3分7秒09:03:0723.6.4 15、一年之计,莫如树谷;十年之计,莫如树木;终身之计,莫如树人。2023年6月上午9时3分23.6.409:03June 4, 2023 16、提出一个问题往往比解决一个更重要。因为解决问题也许仅是一个数学上或实验上的技能而已,而提出新的问题,却需要有创造性的想像力,而且标志着科学的真正进步。2023年6月4日星期日9时3分7秒09:03:074 June 2023 17、儿童是中心,教育的措施便围绕他们而组织起来。上午9时3分7秒上午9时3分09:03:0723.6.4 1、Genius only means hard-working all one's life. (Mendeleyer, Russian Chemist) 天才只意味着终身不懈的努力。21.5.265.26.202108:3008:30:57May-2108:30 2、Our destiny offers not only the cup of despair, but the chalice of opportunity. (Richard Nixon, American President )命运给予我们的不是失望之酒,而是机会之杯。二〇二一年五月二十六日2021年5月26日星期三 3、Patience is bitter, but its fruit is sweet. (Jean Jacques Rousseau , French thinker)忍耐是痛苦的,但它的果实是甜蜜的。08:305.26.202108:305.26.202108:3008:30:575.26.202108:305.26.2021 4、All that you do, do with your might; things done by halves are never done right. ----R.H. Stoddard, American poet做一切事都应尽力而为,半途而废永远不行5.26.20215.26.202108:3008:3008:30:5708:30:57 5、You have to believe in yourself.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huang0c

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值