Arjun 是一款 HTTP 参数发现工具。它可以自动探测 Web 端点上隐藏的 GET/POST 参数,广泛应用于渗透测试、漏洞挖掘和 API 安全评估中。
项目地址:https://github.com/s0md3v/Arjun
安装
Arjun 用 Python 3 编写,安装非常简单:
# 方式一:pip 安装
pip3 install arjun
# 方式二:Kali Linux 直接安装
sudo apt install arjun安装后验证:
arjun --help
快速上手
接下来,我们来看看它的基本用法。
# 扫描单个 URL
arjun -u https://example.com/
Arjun 会分析目标 HTTP 响应本身,从中提取潜在的参数名:
<input>、<textarea> 的 id/name)var、let)提取到的参数会优先插入到字典的最前面进行测试。
Arjun 自带三套参数字典 + 一套特殊参数:
字典 | 参数数量 | 适用场景 |
|---|---|---|
small | 835 条 | 快速扫描,浅尝辄止 |
medium | 10,984 条 | 日常使用,平衡速度与覆盖 |
large | 25,889 条 | 深度挖掘,不留死角 |
使用方法:
# 指定字典大小
arjun -u https://target.com -w small
arjun -u https://target.com -w medium
arjun -u https://target.com -w large此外还有一个 special.json,包含了 40 个特殊/调试参数,例如:
debug=on, test=on, source=on, admin=on, env=uat,
waf=no, security=disable, bot=on, captcha=nil,
signing=nil, sso=1, singlesignon=1这些参数通常与应用程序的调试模式、WAF 配置、SSO 认证等有关,价值很高。
能力提升
利用-m参数,可以支持四种请求方法:
# GET 方式(默认)
arjun -u https://target.com/api -m GET
# POST 方式
arjun -u https://target.com/api -m POST
# JSON 格式
arjun -u https://target.com/api -m JSON
# XML 格式
arjun -u https://target.com/api -m XML# 自动从目标 URL 的域名收集参数
arjun -u https://target.com --passive
# 指定域名收集(可与不同 URL 组合)
arjun -u https://target.com/page --passive api.target.com# 使用 10 个线程(默认 5)
arjun -u https://target.com -t 10arjun -u https://target.com --stable在稳定模式下,线程数自动设为 1,每次请求间随机延迟 3-10 秒。适合 WAF 严格或对频率敏感的目标。
# 每秒最多发 20 个请求
arjun -u https://target.com --rate-limit 20# 每次请求间隔 2 秒
arjun -u https://target.com -d 2arjun -u https://target.com --headers执行后会提示你输入请求头,支持多行输入。可以用这个选项来添加 Cookie、Authorization 等认证信息。
这个选项可以在每个请求中都附带一些固定参数,适合需要 Token 或 session 的场景:
arjun -u https://target.com/api --include '{"token":"abc123"}'对于 JSON 和 XML 方法,可以用 arjun 占位符指定参数插入位置:
arjun -u https://target.com/api -m JSON \
--include '{"auth":"xyz","params":{$arjun$}}'arjun -u https://target.com --disable-redirects# 设置超时 30 秒(默认 15)
arjun -u https://target.com -T 30# 每批发送 500 个参数(默认 250)
arjun -u https://target.com -c 500arjun -u https://target.com -q -o result.json只输出结果,不显示过程信息,适合脚本中使用。
总结
利用Arjun可以便捷的扫描URL端点中的参数,更好的做到数据整理。感兴趣的小伙伴可以试试!
更多精彩文章 欢迎关注我们