HTTPLoot:一款功能强大的Web安全测试工具

2023-02-10 15:26:10 浏览数 (1)

关于HTTPLoot

HTTPLoot是一款功能强大的Web安全测试工具,该工具是一个自动化工具,可以帮助广大研究人员同时抓取和填写表单,并尝试触发目标站点的错误/调试页面,然后从面向客户端的站点代码中挖掘有价值的敏感信息。

工具要求

由于该工具基于Go语言开发,因此广大研究人员需要在本地设备上安装并配置好Go v1.16或更高版本语言环境。

工具下载

广大研究人员可以使用下列命令将该项目源码克隆至本地:

代码语言:javascript复制
git clone https://github.com/redhuntlabs/HTTPLoot.git
代码语言:javascript复制
(向右滑动、查看更多)

下载完成后,切换到项目目录下并运行下列命令即可完成HTTPLoot代码构建:

代码语言:javascript复制
go build

除此之外,我们也可以访问该项目的Releases页面获取预构建的HTTPLoot文件。

工具使用

在使用该工具时,我们还需要用到两个JSON文件,即lootdb.json和regexes.json,记忆从代码库获取到的代码文件。一旦我们拿到了这三个文件,就可以运行HTTPLoot了。

查看工具帮助信息

代码语言:javascript复制
$ ./httploot --help
      _____
       )=(
      /        H T T P L O O T
     (  $  )                  v0.1
      ___/
[ ] HTTPLoot by RedHunt Labs - A Modern Attack Surface (ASM) Management Company
[ ] Author: Pinaki Mondal (RHL Research Team)
[ ] Continuously Track Your Attack Surface using https://redhuntlabs.com/nvadr.
Usage of ./httploot:
  -concurrency int
        同时处理的站点最大数量 (默认为100)
  -depth int
        横向爬取的最大深度限制 (默认为3)
  -form-length int
        为填写表单字段而随机生成的字符串长度 (默认为5)
  -form-string string
        工具将自动填充表单的值,如果未提供值,则将随机生成字符串
  -input-file string
        包含目标站点域名的列表文件路径
  -output-file string
        存储结果的CSV文件路径 (默认为"httploot-results.csv")
  -parallelism int
        每个站点要并行爬取的URL数量 (默认为15)
  -submit-forms
        是否自动提交表单以触发调试页面
  -timeout int
        HTTP请求的默认超时 (默认为10)
  -user-agent string
        在HTTP请求期间使用的用户代理 (默认为"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:98.0) Gecko/20100101 Firefox/98.0")
  -verify-ssl
        发出HTTP请求时验证SSL证书
  -wildcard-crawl
        允许对正在扫描的域之外的链接进行爬取
代码语言:javascript复制
(向右滑动、查看更多)

并发扫描

代码语言:javascript复制
-concurrency:指定并发扫描的最大站点数量;
-parallelism:指定每个站点同时爬取的链接数量;

上述这两个参数对工具结果的性能和可靠性至关重要。

资源爬取

爬取深度使用-depth参数指定,我们可以设置一个整数值来控制爬取深度。

-wildcard-crawl参数可以指定是否需要爬取目标域名之外的URL。

表单填写

如果你想要工具扫描调试页面,则需要使用-submit-forms参数。该参数将控制工具直接自动提交表单并尝试触发错误/调试页面。

如果启用的-submit-forms参数,我们还可以控制提交到表单字段中的字符串。-form-string参数用于指定提交的字符串值,-form-length参数控制随机生成的字符串长度。

网络优化

代码语言:javascript复制
-timeout:指定请求的HTTP超时;
-user-agent:指定HTTP请求中的user-agent;
-verify-ssl:指定是否需要验证SSL证书;

输入/输出

我们可以使用-input-file参数指定要读取的输入文件,我们可以指定一个包含了目标URL列表的文件路径。-output-file参数用于指定输出结果存储的文件路径,默认情况下,该路径默认为httploot-results.csv。

许可证协议

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

工具使用演示

视频地址

https://www.youtube.com/watch?v=qc8Mm2O5t6Q

项目地址

HTTPLoot

https://github.com/redhuntlabs/HTTPLoot

参考资料:

https://redhuntlabs.com/blog/the-http-facet-httploot.html https://github.com/eth0izzle/shhgit https://redhuntlabs.com/nvadr

0 人点赞