漏洞描述
应用程序常常会将用户的数据嵌入到http的响应头中,常常会包含用户数据的HTTP头部字段有以下三个:Set-Cookie 、302跳转的 Location、其他自定义Header 。当服务器段对这些用户的数据没有做好特殊字符(,)的过滤时,恶意用户可以通过精心构造的数据请求来达到恶意的目的。
漏洞危害:
跨站点脚本编制:
a) 攻击者通过输入两个回车换行符提前结束HTTP响应的头部,然后将恶意的脚本添加到响应体中实现跨站。
b) 直接在头部添加标签Link: <http://www.test.com/xss.css>; REL:stylesheet实现跨站 。攻击者可以通过跨站来窃取或操纵客户会话和 cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务。
跨域问题:通过插入一个P3P头,然后再在一个别的域引用此处,则会造成隐私数据的跨域问题。
Web 高速缓存毒害:在这个情况下,目标是在攻击者与 Web 服务器之间的路径上强迫 Web 高速缓存,将攻击者提供的数据当作属于易受攻击的站点的资源来高速缓存。
测试方法:
1、首先找到网站相关url中存在跳转链接的参数(如登陆页面)。
2、在检测的同时,可以修改参数中的合法URL为非法URL,然后查看是否能正常跳转或者通过抓包工具获取其HTTP响应头中Host:的值是否包含了构造的URL。
3、如果是struts2重定向漏洞,则可通过web扫描工具扫描发现,或者手工验证,直接在URL后添加?redirect:+指定钓鱼链接,例如:10.1.82.53:9098/admin/login.action?redirect:http://diaoyu.com进行验证。
解决方案
请确保输入未包含恶意的字符,过滤用户输入,例如:
[1] CR(回车符,ASCII 0x0d)
[2] LF(换行,ASCII 0x0a)
一键式检测工具
项目地址
https://github.com/Nefcore/CRLFsuite
安装
clone https://github.com/Nefcore/CRLFsuite.git git
cd CRLFsuite
sudo python3 setup.py install
crlfsuite -h
用法
单网址扫描:
"http://testphp.vulnweb.com" crlfsuite -u
多个网址扫描:
crlfsuite -i targets.txt
原文始发于微信公众号(小杰安全):CRLF注入+检测tool
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论