SSRF漏洞自动化扫描Burp插件
01
—
一、概述
在服务器端请求伪造 (SSRF) 攻击中,攻击者可以滥用服务器端的功能来读取或更新内部资源。攻击者可以提供或修改服务器端运行的代码会读取或提交数据的 URL,通过精心选择 URL,攻击者可能能够读取服务器配置(例如 AWS 元数据)、连接到内部服务(例如启用 HTTP 的数据库)或向不应公开的内部服务发送 POST 请求。
02
—
二、描述
目标应用程序可能具有从 URL 导入数据、向 URL 发布数据或以其他方式从 URL 读取数据的功能,而这些功能可能被篡改。攻击者通过提供完全不同的 URL 或操纵 URL 的构建方式(例如路径遍历)来修改对这些功能的调用。
当篡改后的请求发送到服务器时,服务器端代码会获取篡改后的 URL,并尝试从该 URL 读取数据。通过选择目标 URL,攻击者可能能够从未直接暴露在互联网上的服务中读取数据:
1.云服务器元数据 – AWS 等云服务提供了一个 REST 接口,可以从中http://169.254.169.254/提取重要的配置信息,有时甚至可以提取身份验证密钥。
2.数据库 HTTP 接口——诸如 MongoDB 之类的 NoSQL 数据库通过 HTTP 端口提供 REST 接口。如果数据库仅供内部使用,则身份验证可能被禁用,攻击者可以借此窃取数据。
3.内部 REST 接口。
4.文件 – 攻击者可能能够使用file://URI 读取文件。
03
—
三、常见的绕过技巧
当开发者设置了黑名单或正则校验时,攻击者常使用以下手段绕过:
进制转换: 将 IP 地址转为八进制、十六进制或长整型。
利用特殊域名: 使用 127.0.0.1.nip.io 或类似 xip.io 的服务,将其解析到内网 IP。
URL 伪造: 利用 @ 符号(如 http://10.10.10.1)欺骗解析器。
DNS 重绑定(DNS Rebinding): 通过控制 DNS 解析时间差,在校验阶段返回合法 IP,在请求阶段返回内网 IP。
短网址与 30x 跳转: 利用外部短网址服务或服务器自身的跳转功能。
04
—
四、SSRF 漏洞可能存在的web功能点
1、从 WEB 功能上寻找
分享:通过 URL 地址分享网页内容
转码服务:将原地址的网页内容转码为适合手机屏幕的格式
在线翻译:通过 URL 地址翻译对应文本内容(如百度、有道等服务)
图片加载 / 下载:通过 URL 加载或下载图片
图片、文章收藏功能
未公开的 API 或其他调用 URL 的功能
2、从 URL 关键字中寻找
常见关键词:share、wap、url、link、src、source、target、u、3g、display、sourceURL、imageURL、domain
05
—
五、防御方案
白名单机制(推荐): 仅允许访问预设的域名或 IP 段,从源头阻断对内网的探测。
禁用不常用协议: 只允许 http 和https,禁止 file、gopher、dict 等危险协议。
统一解析与验证: 在发起请求前对 URL 进行 DNS 解析,验证解析后的真实 IP 是否为内网地址。
限制重定向: 默认关闭自动跟随 30x 跳转,或在跳转时重新进行安全检查。
06
—
六、pikachu-ssrf
1. SSRF (curl)
该关卡利用 PHP 的 cURL 库 发起请求。后台代码通常直接接收 url 参数并执行 curl_exec()。
内网端口探测:
修改 url 参数为内网 IP 和端口,观察返回结果(如响应时间或错误提示)来判断端口是否开放。
?url=http://127.0.0.1:80 (探测 80)

?url=http://127.0.0.1:3306 (探测 MySQL)

利用 dict 协议:
dict 协议常用于探测内网服务指纹或执行简单命令(如mysql)。
?url=dict://127.0.0.1:3306

利用 file 协议读取文件:
?url=file:///etc/passwd 或 ?url=file:///C:/Windows/win.ini

2. SSRF (file_get_contents)
该关卡利用 file_get_contents() 函数读取资源内容。该函数在 allow_url_fopen 开启时可以读取 URL,同时也常用于读取本地文件系统。
读取敏感文件:
这是此函数最直接的利用方式。
?file=file:///C:/Windows/win.ini (读取win.ini )

请求内网 HTTP 服务:
?file=http://192.168.x.x:80

利用 php 伪协议:
如果后端对输入过滤不严,可以配合 php://filter 读取加密后的源码以绕过某些显示限制。
?file=php://filter/read=convert.base64-encode/resource=ssrf.php

07
—
七、推荐一个被动ssrf漏洞发现的burpsuite插件

插件捕获BurpSuite流量的区域
被动扫描 指BurpSuite本身的被动扫描器
Proxy 指所有通过BurpSuite的MITM的流量,在Tab栏 Proxy – Http history中可以看到这些流量
Repeater 指所有在BurpSuite Repeater中发送的流量

效果如下:

注意事项:该插件不支持旧版Burp Suite
wx关注【卡布奇诺的派对】回复AutoSSRF获取。
PS:转载请注明出处及链接
免责声明:
本文章仅供网络安全技术研究和学习使用!任何通过【卡布奇诺的派对】公众号提供的信息进行违法犯罪活动或导致任何损害和后果的行为,均由使用者自行承担责任,与【卡布奇诺的派对】公众号无关,公众号不承担任何责任。如果公众号发布的文章涉及侵权,请及时联系我们,我们将立即进行删除,并对由此带来的不便深感歉意。感谢您的理解与支持!
本文参考:
https://owasp.org/www-community/attacks/Server_Side_Request_Forgery
https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html
https://www.ddosi.org/
夜雨聆风
