
克隆此维基本地
扫描单个网址
选择:-u
运行阿琼对一个单一的网址。
arjun -u https://api.example.com/endpoint
指定 HTTP 方法
选择:-m
默认情况下,Arjun 会查找方法参数。所有可用的方法包括:GET
GET/POST/JSON/XML
arjun -u https://api.example.com/endpoint -m POST
进口目标
选择:-i
Arjun 支持从 BurpSuite 导入目标、简单的文本文件和原始请求文件。Arjun 可以自动识别输入文件的类型,因此您只需要指定路径。
arjun -i targets.txt
注意:在 Burp 套件中出口商品时取消检查"base64"选项。
出口结果
选择:-oJ/-oB/-oT
您可以使用相应的选项将结果导出给 BurpSuite 或 txt/JSON 文件。
arjun -u https://api.example.com/endpoint -oJ result.json
-oJ result.json
-oT result.txt
-oB 127.0.0.1:8080
指定注射点
Arjun 在默认使用或方法参数时可以检测指定位置的参数。所有可用的方法包括: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='<?xml><root>$arjun$</root>'
多线程
选择:-t
Arjun 默认情况下使用 2 个线程,但您可以根据您的网络连接和目标限额调整其性能。
arjun -u https://api.example.com/endpoint -t 10
请求之间的延迟
选择:-d
您可以通过使用选项延迟请求,但它也会设置线程数。-d
1
arjun -u https://api.example.com/endpoint -d 2
请求超时
选择:-T
您可以指定带有选项的 HTTP 请求的超时,默认值为 。-T
15
arjun -u https://api.example.com/endpoint -T 10
处理速率限制
选择:--stable
--stable
设置线程数,并在请求之间引入 6 到 12 秒的随机延迟。1
arjun -u https://api.example.com/endpoint --stable
包括持久性数据
选择:--include
假设您有一个 API 密钥,您需要随每个请求一起发送,告诉 Arjun 这样做,您可以使用以下选项:--include
arjun -u https://api.example.com/endpoint --include 'api_key=xxxxx'
或
arjun -u https://api.example.com/endpoint --include '{"api_key":"xxxxx"}'
要包含多个参数,请使用它们进行分离或将其传递为有效的 JSON 对象。&
控制查询/块大小
选择:-c
默认情况下,Arjun 在请求中包含 500 个参数,这些参数有时可能超过某些服务器的最大 URL 长度限制。您可以通过指定要同时发送的参数数来处理此类案例。-c
arjun -u https://api.example.com/endpoint -c 250
从被动源收集参数名称
选择:--passive
您可以从"共同绘图"、开放威胁交换和回路机器中收集域(非子域)的参数名称,并检查它们是否存在于您的目标上。
arjun https://api.example.com/endpoint --passive example.com
如果您想从目标 URL 中使用域,请使用 。它只适用于单个目标。--passive -
使用自定义 HTTP 头
选择:--headers
您可以简单地从命令行中添加自定义头,除以如下:\n
arjun -u https://api.example.com/endpoint --headers "Accept-Language: en-US\nCookie: null"
在没有任何争论的情况下使用该选项将打开您的文本编辑器(默认值为"nano"),您可以简单地将 HTTP 头粘贴在那里并按以保存。--headers
Ctrl + S
注意:Arjun 用作提示的默认编辑器,但您可以通过调整来更改它。
nano
/core/prompt.py