Extended ssrf search:一款功能强大的SSRF智能漏洞扫描工具

栏目: IT技术 · 发布时间: 4年前

内容简介:Extended ssrf search是一款功能强大的SSRF智能漏洞扫描工具,该工具可以通过在请求中设置不同的预定义参数来搜索SSRF漏洞,这些参数包括路径、主机、Header、POST和GET参数。广大研究人员可以使用下列命令将项目源码克隆至本地:将项目中的example.app-settings.conf文件重命名为app-settings.conf,然后调整相应设置。最重要的设置时回调URL地址,我建议大家使用Burp Collaborator。接下来,将你的URL添加到config/url-to

Extended ssrf search

Extended ssrf search是一款功能强大的SSRF智能漏洞扫描工具,该 工具 可以通过在请求中设置不同的预定义参数来搜索SSRF漏洞,这些参数包括路径、主机、Header、POST和GET参数。

工具下载

广大研究人员可以使用下列命令将项目源码克隆至本地:

git clone https://github.com/Damian89/extended-ssrf-search.git

工具准备

将项目中的example.app-settings.conf文件重命名为app-settings.conf,然后调整相应设置。最重要的设置时回调URL地址,我建议大家使用Burp Collaborator。接下来,将你的URL添加到config/url-to-test.txt中。在这里,脚本将接收域名和URL以及响应的查询参数。你还可以将你自己的Cookie添加到config/cookie-jar.txt中,或给请求添加额外的Header。针对POST以及GET请求的爆破列表当前体积不大,因为我们认为应该把重点放在那些最有可能存在漏洞的地方。

工具执行

该工具可以直接在不需要任何参数的情况下通过命令行接口来运行,运行命令如下:

python3 extended-ssrf-search.py

工具配置

我们可以根据自己的需要来设置各种工具运行参数、设置以及选项。

文件

主配置文件为“app-settings.conf”,所有的工具配置都可以通过修改这个文件来实现。除此之外,该工具还有很多其他的文件可以帮助我们设置更加复杂的数据,例如Header、URL和Cookie。

config/cookie-jar.txt

使用此文件添加cookie字符串,我一般都直接拷贝Burp请求中的参数,你也可以拷贝”Cookie:”-header的值,默认文件中已提供了样本输入。

config/http-headers.txt

这个文件中定义了可以添加到请求和操作中的HTTP Header,每个Header都添加了Payload,最重要的参数已经在项目文件中给出了,但你可以根据需要来自行添加。

config/parameters.txt

该工具提供了用于对GET和POST请求进行爆破的选项,其中涉及到的每一个参数都有对应的Payload作为值。

config/static-request-headers.txt

这些Header会被添加至每一个请求中,但无法被修改,因为它们都是静态值。这是添加授权或承载Cookie的最佳位置,其中每一行为一个(键:值)对。

config/urls-to-test.txt

可在该文件中添加需要扫描的链接,允许的参数格式如下:

https://domain.com

https://domain.com/path

https://domain.com/path?param=value ¶m1=value1

domain.com

当检测到最后一个样例格式时,会在前面加上一个“http://”。该工具只能配合格式正确的url列表来进行操作,因为建议使用Burp来导出这种格式的列表文件,并根据需要来添加Cookie。

设置

app-settings.conf文件定义的是程序的工作流,它是最重要的项目文件,你可以在该文件中激活/禁用不同的功能模块。

CallbackHost

定义发送所有DNS和HTTP请求的URL/主机,我一般使用的是Burp Collaborator,但DNSBin也是可以的。

HTTPMethod

定义请求方法,可选参数有GET、POST、PUT、DELETE、PATCH、GET、OPTIONS,无效值将引起工具运行错误。

HTTPTimeout

有些请求可能需要很长时间,在这里你可以定义一个请求的最长执行时间,我建议这个值设置在2到6秒之间。

MaxThreads

线程越多,脚本就越快。但是由于我们处理的是大量的连接,所以我通常在我的个人计算机上设置小于10的值,在我的VPS上设置值大约为30。

ShuffleTests

尤其是在处理一个较大的URL列表时,如果将此设置为“true”,则会打乱所有创建的测试。这样一来,同一个主机就不会受到那么多的攻击。如果你只扫描一台主机,那就随意了。

GetChunkSize

在处理一个较大的参数列表时,这个参数也许可以帮到你,并防止出现较严重的实体错误。

InPath

下面的样例中显示了一个GET请求,但根据我们的设置,它也可以是POST、PUT和DELETE等等:

GET [INJECT HERE PAYLOAD] HTTP/1.1
...

InHost

下面的样例中显示了一个GET请求,但根据我们的设置,它也可以是POST、PUT和DELETE等等:

GET /path HTTP/1.1
Host: [INJECT HERE PAYLOAD]
...

InAdditionalHeaders

下面的样例中显示了一个GET请求,但根据我们的设置,它也可以是POST、PUT和DELETE等等:

GET /path HTTP/1.1
...
X-Forwarded-For: [INJECT HERE PAYLOAD]

InParamsGet

下面是一个针对GET请求的固定方法:

GET /path?[INJECT HERE PAYLOAD] HTTP/1.1
...

InParamsPost

下面是一个针对POST请求的固定方法:

POST /path HTTP/1.1
...
Content-Type: application/x-www-form-urlencoded
Content-Length: XXX
[INJECT HERE PAYLOAD]

InParamsPostAsJson

下面是一个针对POST请求的固定方法:

POST /path HTTP/1.1
...
Content-Type: application/json
Content-Length: XXX
[INJECT HERE JSON-PAYLOAD]

攻击

该工具的默认配置下,可以直接尝试通过SSRF来触发HTTP请求。与此同时,也可以使用DNS以及OS命令注入等方式来实现数据提取。

在这里,我们可以设置代理服务器,格式为“ip : port”。结果如下,我们可以在Burp中查看到捕捉到的HTTP历史记录:

Extended ssrf search:一款功能强大的SSRF智能漏洞扫描工具

攻击运行截图

Extended ssrf search:一款功能强大的SSRF智能漏洞扫描工具


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C程序设计语言

C程序设计语言

Brian W. Kernighan、Dennis M. Ritchie / 机械工业出版社 / 2006-8-1 / 35.00元

在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用广泛。本书是C语言的设计者之一Dennis M.Ritchie和著名计算机科学家Brian W.Kernighan合著的一本介绍C语言的权威经典著作。我们现在见到的大量论述C语言程序设计的教材和专著均以此书为蓝本。本书第1版中介绍的C语言成为后来广泛使用的C语言版本——标准C的基础。人们熟知的“hello,World"程序就是由本书首次引......一起来看看 《C程序设计语言》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具