找参数还在挨个试?Arjun 直接把参数 FUZZ 玩明白,渗透效率不费劲

B站影视 内地电影 2025-10-10 10:45 1

摘要:在 Web 接口分析与安全测试工作中,快速锁定 URL 端点的查询参数是关键环节,Arjun 作为专注于此需求的工具,为相关操作提供了有力支持。

0x01 工具简介

在 Web 接口分析与安全测试工作中,快速锁定 URL 端点的查询参数是关键环节,Arjun 作为专注于此需求的工具,为相关操作提供了有力支持。

该工具内置一份规模庞大的默认参数字典,收录了 25,890 个参数名称,覆盖各类 Web 应用与接口的参数命名场景,为全面探测奠定了扎实基础。更值得关注的是,即便面对如此海量的参数列表,Arjun 仍保持着出色的扫描效率,能在 10 秒以内完成全量参数的检测,大幅缩短参数探测耗时,避免拖慢整体工作节奏。

在请求类型适配上,Arjun 展现出良好的灵活性,不仅支持 GET、POST 两种基础请求方式,还针对 POST 请求的不同数据格式,专门兼容了 POST-JSON 与 POST-XML 两种主流类型,可依据目标端点的请求规则自动调整数据传输形式,确保探测过程的兼容性与准确性。

考虑到实际操作中可能遇到的网络限制问题,Arjun 配备了智能处理机制。它能实时感知目标服务器的请求速率限制,自动调节请求发送频率,防止因请求过于密集被拦截;同时具备超时处理与重试功能,即便遭遇网络波动或服务器短暂无响应,也能保障探测任务稳定推进,减少意外情况对工作流程的干扰。

在数据交互与结果输出方面,Arjun 提供了丰富的选项,完美适配不同工作需求。导出时,探测结果可转化为 BurpSuite 兼容格式,方便后续在该平台开展深度测试;也能导出为文本文件或 JSON 文件,满足数据存档、二次分析等场景需求。导入方面,除了支持从文本文件读取目标、从 BurpSuite 获取数据外,还可直接解析原始请求文件并提取目标端点信息,进一步简化测试准备流程,提升整体操作效率。

0x02 工具使用

python -m venv venv source ./venv/bin/activatepip install requestspip install dicttoXMLpip install ratelimit

进入venv的bin目录就可以看到安装完成的工具。

针对单个 URL 运行 Arjun。

arjun -u https://api.example.com/endpoint

Arjun 默认查找 GET 方法的参数,可指定其他方法:GET、POST、JSON、XML。

arjun -u https://api.example.com/endpoint -m POST

从 Burp Suite、文本文件或原始请求文件导入目标,Arjun 会自动识别文件类型,只需指定路径。

arjun -i targets.txt

从 Burp Suite 导出时,取消勾选“base64”选项。

将扫描结果导出到 Burp Suite、文本文件或 JSON 文件。

arjun -u https://api.example.com/endpoint -oJ result.json-oJ result.json-oT result.txt-oB 127.0.0.1:8080

当使用 JSON 或 XML 方法时,指定参数注入点。支持 GET、POST、JSON、XML。

arjun -u https://api.example.com/endpoint -m JSON --include='{"root":{"a":"b",$arjun$}}'arjun -u https://api.example.com/endpoint -m XML --include='$arjun$

默认使用 2 个线程,可根据网络和目标限制调整线程数。

arjun -u https://api.example.com/endpoint -t 10

设置请求间延迟(秒),同时将线程数设为 1。

arjun -u https://api.example.com/endpoint -d 2

设置 HTTP 请求超时时间,默认 15 秒。

arjun -u https://api.example.com/endpoint -T 10

将线程数设为 1,并在请求间引入 6-12 秒的随机延迟。

arjun -u https://api.example.com/endpoint --stable

设置每秒请求数。

arjun -u https://api.example.com/endpoint --ratelimit 2

在每个请求中包含固定参数(如 API 密钥)。

arjun -u https://api.example.com/endpoint --include 'api_key=xxxxx'

OR

arjun -u https://api.example.com/endpoint --include '{"api_key":"xxxxx"}'

多个参数用 & 分隔,或用 JSON 格式。

指定自定义参数词表,Arjun 默认提供 small、medium、large 三种词表。

arjun -u https://api.example.com/endpoint -w /path/to/wordlist.txt

设置每次请求的参数数量,默认 500 个,防止 URL 长度超限。

arjun -u https://api.example.com/endpoint -c 250

禁止 Arjun 跟随目标 URL 的重定向,仅在明确需要时使用。

arjun -u https://api.example.com/redirects_to_api2 --disable-redirects

从 CommonCrawl、Open Threat Exchange 和 Wayback Machine 收集域名的参数名,测试目标端点。

arjun https://api.example.com/endpoint --passive example.com

--passive - 使用目标 URL 的域名,仅限单个目标。

添加自定义 HTTP 头,用 \n 分隔。

arjun -u https://api.example.com/endpoint --headers "Accept-Language: en-US\nCookie: null"

不带参数时,打开默认编辑器(如 nano),粘贴 HTTP 头后保存(Ctrl + S)。

0x03 工具获取

夸克网盘「Arjun」

来源:Kali与编程一点号

相关推荐