Arjun是一款HTTP参数挖掘套件。
注意:当前版本的Arjun不支持Python < 3.4的环境。
用户可以使用下列命令查找GET参数:
1 |
python3 arjun.py -u https://api.example.com/endpoint --get |
类似的,用户可以使用–post来查找POST请求。
Arjun默认仅会使用两个线程,广大用户可以根据自己的网络连接状况或特定需求来调整Arjun性能:
1 |
python3 arjun.py -u https://api.example.com/endpoint --get -t 22 |
用户可以使用-d选项来延迟请求发送的间隔时间:
1 |
python3 arjun.py -u https://api.example.com/endpoint --get -d 2 |
比如说你设置了一个API密钥,并且每次发送请求时都需要携带这个密钥,那你就可以使用–include参数来告知Arjun:
1 |
python3 arjun.py -u https://api.example.com/endpoint --get --include 'api_key=xxxxx' |
或者:
1 |
python3 arjun.py -u https://api.example.com/endpoint --get --include'{"api_key":"xxxxx"}' |
如果你需要传入多个参数的话,你可以使用“&”来分隔不同参数,或以有效的JSON对象格式进行传递。
用户可以使用-o参数来以JSON格式存储工具的输出结果:
1 |
python3 arjun.py -u https://api.example.com/endpoint --get -o result.json |
用户可以使用“–headers”选项来开启交互式命令行,然后输入需要设置的header。完成之后,按下Ctrl + S键保存配置,然后按下Ctrl + X进行数据处理。
如果您的操作系统不支持此操作,或者您不想这样做,则只需在命令行中添加由\ n分隔的标题,如下所示:
1 |
python3 arjun.py -u https://api.example.com/endpoint --post --headers "Accept-Language: en-US\nCookie: null" |
注意:Arjun使用nano作为提示的默认编辑器,但您可以通过调整/core/prompt.py来更改它。