雨中漫步_012 发表于 2018-6-19 16:34:38

Web业务安全测试—CRLF注入攻击

最近测试发现了一个CRLF注入攻击。
CRLF注入又称HTTP头部返回拆分攻击,原理是服务器未过滤攻击者输入的数据,而直接放到头部,导致
攻击者通过注入\n\r(%0d%0a)能够控制HTTP返回头部,从而造成XSS注入攻击、Web缓存中毒、会话
固定漏洞、302跳转攻击等攻击。(基于公司保密原则,不能泄露信息,这里转网上的文章)
比如一个网站接受url参数http://test.sina.com.cn/?url=xxx,xxx放在Location后面作为一个跳转。如果我
们输入的是:

http://test.sina.com.cn/?url=%0d%0a%0d%0a<img src=1 onerror=alert(/xss/)>
我们的返回包就会变成这样:

HTTP/1.1 302 Moved Temporarily
Date: Fri, 27 Jun 2014 17:52:17 GMT
Content-Type: text/html
Content-Length: 154
Connection: close
Location:

<img src=1 onerror=alert(/xss/)>
之前说了浏览器会根据第一个CRLF把HTTP包分成头和体,然后将体显示出来。于是我们这里<img>这个
标签就会显示出来,造成一个XSS。

解决方案:
1、不要把用户的输入直接输出。
2、过滤用户输入的\r\n。



麒麟lz 发表于 2018-7-30 15:02:44

学习了,很棒!
页: [1]
查看完整版本: Web业务安全测试—CRLF注入攻击