Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
paramtrace — 用于授权安全测试的快速 HTTP 参数发现 | Kitploit
工具/GitHubGitHub/curiotrace/paramtrace
侦察Web漏洞扫描器信息收集Web安全模糊测试渗透测试实用工具与框架红队
GitHubcuriotrace/paramtrace

paramtrace

用于授权安全测试的快速 HTTP 参数发现

查看仓库
2813小时44分前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

ParamTrace 横幅

ParamTrace

面向漏洞赏金和授权渗透测试的快速 HTTP 参数发现工具。 ParamTrace 将字典条目作为参数发送,并标记出那些与基线相比会改变响应的参数。

法律声明: 仅在你拥有或已获得明确书面许可测试的系统上使用 ParamTrace (例如,在范围内的漏洞赏金目标)。你对如何使用它负责。

为什么选择 ParamTrace?

参数发现工具已经存在(Arjun、x8、用于 Burp 的 Param Miner)。ParamTrace 是一个小巧、专注的替代方案:

  • 单一二进制文件,无需运行时。 使用 Rust 编写,因此不需要 Python 环境或 Burp。它也能在 Termux(Android)上构建和运行。
  • 噪声感知基线。 它首先发送 3 个随机参数请求,以了解正常的状态码和大小范围,--tolerance 可处理每次请求都会变化的页面。
  • 反射检测。 它会标记那些值出现在响应中的参数,即使状态码和大小几乎没有变化。
  • 契合你的工作流。 自定义请求头、GET 和 POST、代理支持(Caido 或 Burp),以及可管道传输到其他工具的 JSON 输出。
  • 小巧且易读。 整个工具只有一个源文件,因此易于审计和扩展。

何时使用其他工具: 如果你已经习惯使用 Burp,Param Miner 更合适。对于每个请求批量测试多个参数,像 Arjun 或 x8 这样成熟的工具目前更快。批量测试已在 ParamTrace 的路线图中。

工作原理

  1. 发送 3 个带有随机假参数的请求,以了解“正常”响应 (状态码和大小范围)。
  2. 以有界并发测试每个字典条目。
  3. 当状态码发生变化、响应体大小超出基线范围, 或值在响应中被反射时,标记该参数。

安装

预构建的二进制文件(Linux x86_64 和 aarch64、macOS Apple Silicon、Windows)位于 Releases 页面,每个都附带 .sha256 校验和文件。例如,在 Linux 上(手机上用于 Kali NetHunter 请使用 aarch64 文件):

tar -xzf paramtrace-*-linux-x86_64.tar.gz
sudo cp paramtrace-*-linux-x86_64/paramtrace /usr/local/bin/

Termux 使用 Android 的 C 库,因此 Linux 二进制文件无法在其中运行。请改为从源码安装:cargo install --git https://github.com/CurioTrace/paramtrace

测试状态: Linux aarch64 二进制文件(Kali NetHunter)和 Termux 源码构建已由作者测试。Linux x86_64、macOS 和 Windows 二进制文件会在每次发布时自动构建,但作者尚未运行过它们,因此如果某个二进制文件无法正常工作,请提交 issue。这些二进制文件未签名,因此 Windows 或 macOS 在首次运行时可能会显示警告;你可以使用对应的 .sha256 文件验证下载内容。

或从源码构建:

git clone https://github.com/CurioTrace/paramtrace
cd paramtrace
cargo build --release
# binary: target/release/paramtrace

# optional: install it so you can just type `paramtrace`
cargo install --path .

已在 Termux(Android)和 Kali NetHunter 上测试。它应该能在任何 Rust 可构建的环境中构建(使用 rustls,无需 OpenSSL)。

用法

ParamTrace 演示

以下示例假设 paramtrace 已在你的 PATH 中(参见上文的 cargo install --path .)。 如果你只运行了 cargo build --release,请改用 ./target/release/paramtrace。 如果安装后找不到该命令,请将 Cargo 的 bin 文件夹添加到你的 PATH: export PATH="$HOME/.cargo/bin:$PATH"

paramtrace -u https://example.com/search -w wordlists/common.txt
paramtrace -u https://example.com/api -w words.txt -m post -t 20
paramtrace -u https://example.com/ -w words.txt -H "Cookie: session=abc" --proxy http://127.0.0.1:8080
paramtrace -u https://example.com/ -w words.txt -o out.json -f json
参数描述
-u, --url目标 URL
-w, --wordlist参数字典
-m, --methodget(默认)或 post
-t, --threads并发请求数(默认 10)
-H, --header额外请求头,可重复指定
--timeout请求超时时间(秒,默认 10)
--delay每次请求的延迟(毫秒)
--tolerance忽略不超过 N 字节的大小差异(适用于动态页面)
--value为每个参数发送的值(值少于 4 个字符会禁用反射检查)
--proxy代理 URL(Caido、Burp)
-k, --insecure跳过 TLS 验证
-q, --quiet隐藏启动横幅
-o, --output / -f, --format将结果保存为 text 或 json

示例结果

在我自己的 PortSwigger Web Security Academy 实验环境中进行了测试:使用包含 6,454 个条目的字典(6,453 个错误名称加上真实参数 productId),ParamTrace 仅标记了 productId,没有误报,在 10 个线程下耗时约 3 分钟。服务器在带参数和不带参数时都返回 400,因此仅检查状态码会漏掉它。ParamTrace 通过比较响应大小捕获了它。

速度在很大程度上取决于网络,并且参数名称区分大小写,因此字典必须包含服务器期望的准确名称。

限制

  • 每个请求测试一个参数(计划支持批处理)。
  • 在每次请求大小都会变化的页面上,自动容差可能会掩盖小于噪声的真实变化(状态变化、较大的大小变化和反射仍会被捕获)。使用 --tolerance 0 进行精确比较。
  • 不跟随重定向,因此重定向差异会被计为发现。

字典

wordlists/common.txt 中有一个小型入门列表。如需更大的列表,请参阅 SecLists。

对于真实目标,请下载更大的列表(约 6,000 个名称)并温和地扫描:

curl -L -o wordlists/burp-params.txt https://raw.githubusercontent.com/danielmiessler/SecLists/master/Discovery/Web-Content/burp-parameter-names.txt
paramtrace -u https://example.com/page -w wordlists/burp-params.txt -t 5 --delay 100

参数名称区分大小写。 如果服务器期望的是 productId,它不会对 productid 作出反应,因此 ParamTrace 只能找到你字典中拼写与目标完全一致的名称。许多字典都是全小写的,所以请先检查你的字典,例如:grep -c -x productId yourlist.txt。

常见问题

它如何处理速率限制?

  • -t, --threads 限制同时进行的请求数量(默认 10)。
  • --delay N 在每个请求前等待 N 毫秒。它适用于每个并发请求,因此线程越多,整体每秒请求数仍然越多。
  • --timeout 防止慢速请求挂起扫描。
  • 如果目标返回 429 Too Many Requests,ParamTrace 不会将这些响应报告为发现结果。它会统计这些响应,并在结束时打印警告,因为结果可能不完整。请降低 --threads、增加 --delay,并查看目标关于请求速率的规则。

它目前还不会自动退避或重试。在我自己的一次实验室测试中,-t 3 --delay 150 大约以每秒 6 个请求运行,-t 10 --delay 0 大约以每秒 30 个请求运行,因此速度在很大程度上取决于目标和你的网络连接。

会支持参数批处理吗?

会,这是计划中的主要功能:在一个请求中发送多个名称,并在响应发生变化时缩小范围,这应该需要少得多的请求。ParamTrace 是一个业余项目,因此没有确定日期。

支持

如果 ParamTrace 在评估或漏洞赏金中帮助了你,请考虑留下一个 ⭐(仓库页面顶部的 Star 按钮),帮助其他人发现它。

欢迎在 Issues 中提交错误报告和想法。

许可证

MIT

下载工具