43 个版本 (4 个重大更新)
0.5.5 | 2023年5月11日 |
---|---|
0.5.3 | 2023年4月18日 |
0.4.9 | 2023年4月13日 |
0.4.1 | 2023年3月31日 |
0.1.9 | 2023年3月3日 |
#443 在 Web 编程
119 每月下载量
4.5MB
1.5K SLoC
pathbuster
路径归一化渗透测试工具
最新功能 • 错误修复 • 安装 • 使用方法 • 示例 • 贡献 • 许可证 • 加入 Discord
最新功能?
- 移除了冗余的 --filter-status,它过滤状态码但也错过了一大批有效发现。
- 移除了冗余的 --filter-body-size,它过滤响应大小但也错过了一大批有效发现。
- 实现了 --drop-after-fail,将忽略连续多次出现相同响应代码的请求。
- 添加了 --proxy 参数,现在您可以执行与代理相关的任务,例如将所有内容发送到 burp。
- Pathbuster 现在会给出一个估计时间,告诉您工具何时完成所有作业的处理。
- 添加了 --skip-brute 参数,您可以选择是否执行目录暴力破解。
- 将 --match-status 替换为 --pub-status 和 --int-status,以便在检测阶段有更多的控制。
- 添加了 --skip-validation 参数,用于绕过使用遍历已知受保护端点。
- 添加了 --header 参数,用于在每个请求中添加额外的头部。
错误修复?
- 修复了 ETA 的错误,它不会产生正确的结果。
- 修复了 --proxy 参数以及一些其他小错误。
- 修复了大量性能问题,并在最后包括了目录暴力破解。
- 使用 itertools 而不是双重循环,大幅提高性能和准确性,降低了 O(n^2) 的时间复杂度。
安装
安装 rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
安装 pathbuster
cargo install pathbuster
使用方法
pathbuster -h
此命令将显示工具的帮助信息并展示所有可用的开关列表。
USAGE:
pathbuster [OPTIONS] --urls <urls> --payloads <payloads> --wordlist <wordlist>
OPTIONS:
-u, --urls <urls>
the url you would like to test
-r, --rate <rate>
Maximum in-flight requests per second
[default: 1000]
--skip-brute
skip the directory bruteforcing stage
--drop-after-fail <drop-after-fail>
ignore requests with the same response code multiple times in a row
[default: 302,301]
--int-status <int-status>
the internal web root status
[default: 404,500]
--pub-status <pub-status>
the public web root status
[default: 400]
-p, --proxy <proxy>
http proxy to use (eg http://127.0.0.1:8080)
-s, --skip-validation
this is used to bypass known protected endpoints using traversals
-c, --concurrency <concurrency>
The amount of concurrent requests
[default: 1000]
--timeout <timeout>
The delay between each request
[default: 10]
--header <header>
The header to insert into each request
[default: ]
-w, --workers <workers>
The amount of workers
[default: 10]
--payloads <payloads>
the file containing the traversal payloads
[default: ./payloads/traversals.txt]
--wordlist <wordlist>
the file containing the wordlist used for directory bruteforcing
[default: ./wordlists/wordlist.txt]
-o, --out <out>
The output file
-h, --help
Print help information
-V, --version
Print version information
标志
标志 | 描述 |
---|---|
--urls | 包含要测试的URL的文件,确保它包含路径 |
--payloads | 包含要测试的有效负载的文件 |
--int-status | 用于匹配状态码以识别内部Web根目录 |
--pub-status | 用于匹配状态码以识别损坏的路径归一化 |
--drop-after-fail | 指定一个状态码,如果它连续出现超过5次,则忽略 |
--rate | 用于设置每秒最大并发请求数 |
--workers | 用于处理任务的工人数 |
--timeout | 每次请求之间的延迟 |
--concurrency | 用于处理的线程数 |
--wordlist | 用于目录暴力破解的单词列表 |
--proxy | 要使用的HTTP代理(例如 http://127.0.0.1:8080) |
--header | 要插入到每个请求中的头部 |
--skip-brute | 用于跳过目录暴力破解阶段 |
--skip-validation | 用于使用遍历绕过已知的受保护端点 |
--out | 将输出保存到文件 |
--help | 打印帮助信息 |
--version | 打印版本信息 |
示例
使用方法
$ pathbuster --urls crawls.txt --payloads traversals.txt --wordlist wordlist.txt -o output.txt
如果您发现任何有趣的漏洞,如果您能在Twitter上向我喊话、买我一杯咖啡或通过Paypal捐赠,我将不胜感激。
希望您喜欢
贡献
欢迎提交拉取请求。对于重大更改,请先打开一个问题来讨论您想要更改的内容。
请确保适当更新测试。
许可
Pathbuster在MIT许可下分发