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日

#443Web 编程

Download history 7/week @ 2024-03-09 2/week @ 2024-03-16 6/week @ 2024-03-30

119 每月下载量

MIT 许可证

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

Screenshot

如果您发现任何有趣的漏洞,如果您能在Twitter上向我喊话、买我一杯咖啡或通过Paypal捐赠,我将不胜感激。

BuyMeACoffee PayPal

希望您喜欢

贡献

欢迎提交拉取请求。对于重大更改,请先打开一个问题来讨论您想要更改的内容。

请确保适当更新测试。

许可

Pathbuster在MIT许可下分发

依赖项