如何使用HRSDT检测HTTP请求走私
2022-8-30 19:10:17 Author: FreeBuf(查看原文) 阅读量:10 收藏

 HTTP请求走私检测工具介绍 

HTTP请求走私是一种严重的安全漏洞,攻击者可以利用恶意HTTP请求来绕过安全控制措施并获得未经授权的访问权,然后在目标服务器上执行恶意操作。这款工具的主要目的就是为了帮助广大研究人员在给定的主机上检测HTTP请求走私漏洞。

 技术细节 

该工具基于Python语言开发,因此我们需要在本地设备上安装并配置好Python 3.x环境。该工具接受的输入参数为一个URL地址,或在文本中提供URL列表作为输入。该工具实现了HRS楼哦对那个检测技术,并且内置的Payload提供了37种排列变换和检测Payload。针对每台给定的主机,该工具将使用这些URL生成攻击请求对象Payload,并计算每一个请求所返回响应的时间,用以确定漏洞。

 工具安装 

广大研究人员可以使用下列命令将该项目源码克隆至本地,并安装好相应的依赖组件:

git clone https://github.com/anshumanpattnaik/http-request-smuggling.gitcd http-request-smugglingpip3 install -r requirements.txt

(向右滑动,查看更多)

 工具选项 

usagesmuggle.py [-h] [-u URL] [-urls URLS] [-t TIMEOUT] [-m METHOD]                    [-r RETRY]HTTP Request Smuggling vulnerability detection tooloptional arguments:  -h--help            显示帮助信息并退出  -u URL--url URL      设置目标URL  -urls URLS--urls URLS                      设置目标URL列表(例如:urls.txt  -t TIMEOUT--timeout TIMEOUT                        设置套接字超时(默认:10)  -m METHOD--method METHOD                        设置HTTP方法(例如:GETPOST,默认:POST  -r RETRY--retry RETRY                        设置Payload执行重试次数(默认:2)

(向右滑动,查看更多)

 工具使用 

扫描一个URL

python3 smuggle.py -u <URL>

扫描URL列表

python3 smuggle.py -urls <URLs.txt>

其他使用

如果你想要修改检测Payload以获取更精确的结果,你可以更新payloads.json文件中“detection”数组中的值:

"detection": [{"type""CL.TE","payload""\r\n1\r\nZ\r\nQ\r\n\r\n","content_length"5},{"type""TE.CL","payload""\r\n0\r\n\r\n\r\nG","content_length"6}]

 许可证协议 

本项目的开发与发布遵循MIT开源许可证协议。

 项目地址 

HRSDT:https://github.com/anshumanpattnaik/http-request-smuggling

参考资料

https://www.cgisecurity.com/lib/HTTP-Request-Smuggling.pdf

https://twitter.com/albinowax

https://portswigger.net/research/http-desync-attacks-request-smuggling-reborn

https://hackbotone.com/blog/http-request-smuggling-detection-tool

精彩推荐


文章来源: http://mp.weixin.qq.com/s?__biz=MjM5NjA0NjgyMA==&mid=2651190394&idx=4&sn=104e11651f17c7b89e1c6f5c204d4bdd&chksm=bd1e66f18a69efe7e0cf6922053458888e7b657caf8e28511835f392e2f271e18cfc7ee0309b#rd
如有侵权请联系:admin#unsafe.sh