如何使用HRSDT检测HTTP请求走私
HTTP 使用 如何 检测 请求
2023-06-13 09:18:08 时间
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
(向右滑动,查看更多)
工具选项
usage: smuggle.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方法(例如:GET或POST,默认: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
精彩推荐
相关文章
- K8S学习笔记之docker registry使用http非https
- 使用策略模式避免八种http请求方式多重判断
- 【经验】使用http访问一个链接提示400的错误,但是在浏览器访问没问题(server returned HTTP Response code :400 fro URL:),怎么解决
- 【Android】使用Android开发应用过程中遇到ViewGroup的简单效以及aw和assets文件夹下的文件(Http协议的底层工作)
- PHP如何搭建设置代理http并加密使用?
- WordPress 教程:使用 WP_Http 在 WordPress 中发起 HTTP Request
- java使用Post和Get方式提交Http请求通用详解编程语言
- Linux下使用HTTP代理的技术指南(linuxhttp代理)
- 端口Linux查看HTTP端口:一步一步指南(linux查看http)
- 请求使用Linux发送HTTP请求的方法(linux发送http)
- http 遇到中文表单 转码详解编程语言
- Linux下载之路:HTTP下载(linuxhttp下载)
- [指南] 如何配置使用HTTP严格传输安全HSTS
- 如何在Ubuntu 20.04上使用Nginx安装HTTP Git服务器
- Twitter 全面脱离 http,连短链接也不放过
- Linux Curl 简易教程:学会使用l参数快速发送HTTP请求(linuxcurll)
- 深入浅出:Linux 架构学习 HTTP 协议(http协议linux)
- 深入浅出Mongodb Http: 开箱即用的可扩展性数据库(mongodb http)
- 数据库使用HTTP连接Oracle数据库的简单操作(http连接oracle)
- java实现轻量型http代理服务器示例
- node.js中的http.response.end方法使用说明
- node.js中的http.response.write方法使用说明