首页 > 其他分享 >HTTP参数发现工具-Arjun

HTTP参数发现工具-Arjun

时间:2023-11-29 12:12:19浏览次数:34  
标签:endpoint HTTP arjun Arjun api 参数 https com example

1、简介

Arjun是一款可以找到URL端点查询参数的工具。Web应用程序使用参数(或查询)来接受用户输入,此工具可以帮助渗透测试人员方便查找隐藏的参数。

2、内容

此工具支持以下功能:

支持GET/POST/POST-JSON/POST-XML请求
自动处理速率限制和超时
将结果导出到:BurpSuite、文本或JSON文件
从BurpSuite、文本文件或原始请求文件导入目标
可以从JS或3个外部源被动提取参数

安装

pip3 install arjun

或者下载github项目,使用python安装

python3 setup.py install

使用

扫描单个URL

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

指定HTTP方法

默认情况下,Arjun 会查找方法参数。所有可用的方法是:GETGET/POST/JSON/XML

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

导入目标

Arjun支持从BurpSuite、简单文本文件和原始请求文件导入目标。Arjun可以自动识别输入文件的类型,因此只需要指定路径。

arjun -i targets.txt

注意:在Burp Suite中导出项目时取消选中“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

指定参数位置

默认情况下,当使用JSON或XML方法参数时,Arjun可以检测指定位置的参数。所有可用的方法都是: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>'

多线程

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

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

延迟请求

使用-d选项来延迟请求

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

请求超时

指定请求超时时间 默认值为15

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

速率限制

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

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

指定数据

假设有一个API密钥,需要随每个请求一起发送,可以使用--include选项

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

或者

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

要包含多个参数,请使用&将它们分开或作为有效的JSON对象传递

控制查询参数大小

默认情况下,Arjun在请求中包含500个参数,这些参数有时会超过某些服务器的最大URL长度限制。可以通过使用-c选项指定一次发送的参数数量。

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

禁用重定向

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

从外部源收集参数

可以从CommonCrawl、Open Threat Exchange和WaybackMachine收集域(而不是子域)的参数名称,检查它们是否存在于目标上。

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

如果要使用目标URL中的域,请使用--passive -。它只适用于单个目标

使用自定义HTTP头

可以简单地从命令行添加自定义标头,分隔符\n如下:

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

使用不带任何参数的--headers选项将打开文本编辑器(默认为“nano”),您只需将HTTP标头粘贴到那里,然后按Ctrl+S即可保存。

图片

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

3、项目地址

Github项目地址https://github.com/s0md3v/Arjun

标签:endpoint,HTTP,arjun,Arjun,api,参数,https,com,example
From: https://www.cnblogs.com/websec80/p/17864514.html

相关文章

  • url特殊字符传递参数解决方法(特指超链接)
    需要进行转码:十六进制值1.+URL中+号表示空格%2B2.空格URL中的空格可以用+号或者编码%203./分隔目录和子目录%2F4.?分隔实际的URL和参数%3F5.%指定特殊字符%256.#表示书签%237.&URL中指定的参数间的分隔符%268.=URL中指定参数的值%3D//带有特殊字符的......
  • js 拼接字符串带变量(js方法参数单双引号拼接的问题记录)
    小结:外面单引号,里面双引号,然后方法参数给转义的单引号即可(看下面的onClick事件即可)//刷新二级信号表格(增删改操作后)functionreloadSignal(subId){//清空$("#msgAll"+subId).empty();//js手工添加表格varhtmlStart='<spanstyle="position:......
  • LLM模型参数助力多模态大模型高效训练
    随着人工智能技术的快速发展,多模态大模型在各种应用领域展现出了巨大的潜力。然而,其训练过程存在着计算资源消耗大、训练时间漫长等问题,这限制了其在实际场景中的应用。为了解决这些问题,salesforce提出了一个新的训练方法,即基于冻结视觉编码器和LLM模型参数的高效训练多模态大模型(B......
  • Golang Gin 获取Restful参数、URL查询参数,Form 表单参数,JSON格式参数
    前言http请求中,可以通过URL查询参数提交数据到服务器,可以通过post的json方式,还有一直方式就是Form表单。Form表单相比URL查询参数,用户体验好,可以承载更多的数据,尤其是文件上传时,特别方便。这里推荐飞雪无情的博客;写了一些列的gin的使用教程,很时候新手学习如果想对gin有一个完整......
  • Copy网页中F12里的请求url到postman,并且把所有参数都带过来
    F12后找到对应链接然后Copy 在PostMan中导入链接 请求一下试试 转换代码网站-多种语言可供选择https://curlconverter.com/链接: 转换代码网站 本篇文章如有帮助到您,请给「翎野君」点个赞,感谢您的支持。作者:翎野君......
  • uhttp luci cgi-bin 自定义输出内容
    uhttplucicgi-bin自定义输出内容来源  https://www.cnblogs.com/osnosn/p/17131543.html 参考【ExampleofwebinterfaceusinguHTTPdandLua】【Lua5.1ReferenceManual】openwrt,op18,op19,op21,op22都是用的lua-5.1.5。修改openwrtuhttpd使用的ssl......
  • MQTT vs. HTTP: which one is the best for IoT?
    MQTTvs.HTTP:whichoneisthebestforIoT? BeginnersGuideToTheMQTTProtocolhttp://www.steves-internet-guide.com/mqtt/翻译搜索复制......
  • 如何正确的在AIX 7上正确开启大页内存(large page)on oracle 11.2.0.4 rac 转发 https:
    1、关于大页有个客户的业务系统上要开启大页,提高系统性能,研究了一下,网上文章太多,自己做了一些测试,经过实机测试,整理了一下操作记录。关于AIX上为什么要开启大页,借用MOS里的说明原文:StartingwiththeAIXV5.1operatingsystemwhenrunningonIBMPOWER4orPOWER5proces......
  • https03_证书
    背景信息当您访问使用HTTPS协议的网站时,该网站的服务器会使用证书向浏览器证明该网站的身份。为了确保连接安全,浏览器会要求该网站使用来自受信任的CA(CertificateAuthority)证书颁发机构颁发的证书。详细的证书认证流程如图1所示。图1使用HTTPS访问网站时的证书认证流程1.首......
  • pytest参数化数据来源于excel文件时,如果读取参数化数据?
    一、问题pytest参数化数据来源于excel文件时,如果读取参数化数据? 二、回答有两种获取方式:1.列表嵌套列表的方式2.列表嵌套字典的方式更加推荐第2种列表推荐字典的方式,这样就算excel增加一列也没关系,不用大动代码,而列表嵌套列表的方式,一旦excel增加或减少一列,pytest.mark.para......