利用在请求中构建特殊的回车符,进而导致服务器中断正确的response的响应,并在服务器端形成一个伪造的http response,如果此时其他用户发起了http请求,将导致用户看到的是伪造的页面内容,进而攻击用户。如果这个用户是一个代理服务器则危害更大。如果构建在某个其他普通的站点页面上,则大量不同用户的点击可能导致被攻击网站的出现严重的危害。
这个攻击可利用在XSS跨站,web cache投毒,浏览器投毒上。
攻击原理:
利用网站在读取用户提交的数据后,将用户提交的数据插入http的location的 header中,并返回302跳转响应,进而导致自动访问带有特殊构造字符的URI,最终导致服务器产生了2个response,其中第2个response的内容完全可以由用户构造,用户可以插入木马等iframe连接或其他任意内容。
攻击前提:
存在cr lf字符漏洞的web服务器
攻击关键点:
必须准确的让服务器能够明确的终结第一个response。
利用content-length=0让服务器明确知道第一个response已经结束,接着构建的 http/1.1 200 ok则让服务器认为第二个response已经产生。
攻击演示:
1.正常的查询访问后,如果没有查询到,程序利用location给用户返回原始的查询页面,并在返回的时候将用户之前查询的数据放到URI中,以便后面的页面提取URI参数。
点击可看大图
2.在查询中刻意填入如下内容并提交
myf5%0d%0acontent-length:%200%0d%0a%0d%0ahttp/1.1%20200%20ok%0d%0a%0d%0a%0d%0a<html>hacked!</html>
点击可看大图
3.服务器做正确响应,并将用户提交的数据放入location中的uri里
点击可看大图
4.接着浏览器重新发送location中的uri get请求
点击可看大图
5.服务器响应情况
点击可看大图
点击可看大图
防范方法:
在将用户数据放入uri之前应充分过滤,避免特殊字符。
使用WEB应用防火墙过滤cr lf
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
从HTTP迁移至HTTPS需要注意什么?
HTTPS安全性更高,不过从原来的HTTP迁移至HTTPS的过程非常困难。那么,迁移过程中会碰到哪些挑战?企业又该如何解决?
-
实施虚拟化:管理员应避免五大安全错误
如今,有约50%的服务器负载在虚拟机上运行,并且在未来的几年还要增加。虚拟化带来很多好处,也不可避免地带来许多由其自身产生的威胁……
-
七步解决关键SSL安全问题及漏洞
近年来,安全套接字层(SSL)技术已经有所改进,但同时也出现新的漏洞。那么如何解决关键SSL安全问题及漏洞呢?总共分七步……
-
警惕!Heartbleed还在继续
自从Heartbleed漏洞被公开以来,虽然受影响的服务器的总数在降低,但新发现的仍受该漏洞影响的服务器的数量却仍在增加。