Arjun 一款HTTP参数挖掘套件

Arjun介绍

Arjun是一款HTTP参数挖掘套件。

Arjun 一款HTTP参数挖掘套件

Arjun功能介绍

  • 多线程
  • 彻底检测
  • 支持GET / POST / JSON方法
  • 常规扫描仅需30秒
  • 基于正则表达式的启发式扫描
  • 提供了25980个可扫描的参数名
  • 只想目标发送30-5个请求即可完成任务

注意:当前版本的Arjun不支持Python < 3.4的环境。

Arjun使用

  • 扫描单个URL
  • 扫描多个URL
  • 选择线程数
  • 请求之间的延迟
  • 包括先前的数据
  • 将输出保存到文件
  • 添加自定义HTTP标头

参数发现

用户可以使用下列命令查找GET参数:

python3 arjun.py -u https://api.example.com/endpoint --get

类似的,用户可以使用–post来查找POST请求。

多线程

Arjun默认仅会使用两个线程,广大用户可以根据自己的网络连接状况或特定需求来调整Arjun性能:

python3 arjun.py -u https://api.example.com/endpoint --get -t 22

请求间隔延迟

用户可以使用-d选项来延迟请求发送的间隔时间:

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

引入固定数据

比如说你设置了一个API密钥,并且每次发送请求时都需要携带这个密钥,那你就可以使用–include参数来告知Arjun:

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

或者:

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

如果你需要传入多个参数的话,你可以使用“&”来分隔不同参数,或以有效的JSON对象格式进行传递。

JSON输出

用户可以使用-o参数来以JSON格式存储工具的输出结果:

python3 arjun.py -u https://api.example.com/endpoint --get -o result.json

添加HTTP Header

用户可以使用“–headers”选项来开启交互式命令行,然后输入需要设置的header。完成之后,按下Ctrl + S键保存配置,然后按下Ctrl + X进行数据处理。

Arjun 一款HTTP参数挖掘套件

如果您的操作系统不支持此操作,或者您不想这样做,则只需在命令行中添加由\ n分隔的标题,如下所示:

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

注意:Arjun使用nano作为提示的默认编辑器,但您可以通过调整/core/prompt.py来更改它。

Arjun下载