前言
在网络安全众测项目中,经常会遇到表面看似无功能或返回 404 的系统。这类系统往往隐藏较深,但通过细致的信息收集和分析,仍可能发现高危漏洞。本文记录了一次针对某金融类系统的渗透测试过程,重点展示了如何从空白页面中挖掘出高危 SSRF(服务器端请求伪造)漏洞。
本文记录了一次金融类众测项目中的 SSRF 漏洞挖掘过程。目标系统首页返回 404 且无可见功能,通过审查 HTML 源码发现隐藏线索。利用目录爆破定位到静态资源目录,进一步分析 JavaScript 文件获取到后端 API 接口路径。最终发现文件下载接口存在 SSRF 漏洞,成功访问内网 Elasticsearch 及 Web 服务。文章详细阐述了从信息收集、漏洞验证到利用的全过程,并补充了 SSRF 漏洞的原理分析与防御建议。

在网络安全众测项目中,经常会遇到表面看似无功能或返回 404 的系统。这类系统往往隐藏较深,但通过细致的信息收集和分析,仍可能发现高危漏洞。本文记录了一次针对某金融类系统的渗透测试过程,重点展示了如何从空白页面中挖掘出高危 SSRF(服务器端请求伪造)漏洞。
给定系统地址为:http://xxx-desktop.xxx.com/
直接访问该地址,页面显示一片空白,HTTP 状态码为 200 但内容为空,或者表现为 404 Not Found。这种情况下,不能简单认为系统不存在功能。现代 Web 应用通常依赖前端 JavaScript 文件进行交互,即使 HTML 源码为空,也可能加载了 JS 资源。
查看网页源代码,寻找潜在的资源加载路径或接口线索。常见的线索包括:
在本案例中,源码中包含以下关键路径片段:
libs/plugins/jquery.js
./html/apply.html?data=cxx/token/decrypt
尝试访问 http://xxx-desktop.xxx.com/libs/plugins/jquery.js,确认为前端库文件,无敏感信息泄露,跳过。
尝试访问 http://xxx-desktop.xxx.com/html/apply.html?data=,返回 Nginx 默认的 404 错误页,说明该具体文件不存在,但目录可能存在。
注意到 cxx/token/decrypt 片段,疑似为后端接口路径。直接访问返回 404,推测可能存在中间层目录结构。
当常规访问无法获取有效信息时,需对 Web 目录进行试探性爆破。重点关注常见的一级目录和静态资源目录。
使用工具(如 Dirsearch、Gobuster)对根目录进行扫描。虽然大部分目录返回 403 Forbidden 或 404 Not Found,但部分 403 目录可能意味着存在权限控制而非目录不存在。
本次测试发现三个返回 403 的目录:
/html//css//js/这表明 /html/ 目录确实存在,只是 apply.html 文件缺失导致首页空白。
既然 /js/ 目录存在且可访问(或通过特定方式访问),应重点分析其中的 JavaScript 文件。前端代码往往会暴露后端接口的调用逻辑。
使用 Burp Suite 的 Intruder 模块对 /js/ 目录下的文件进行字典爆破,成功获取到以下 JS 文件:
apply.jspagination.jscommon.js通过分析 common.js 文件,发现了一级接口目录 /xxxapi/。结合 apply.js 中的逻辑,定位到具体的业务接口:
file/pdf/view?file=
拼接完整接口地址:
http://xxx-desktop.xxx.com/xxxapi/file/pdf/view?file=
观察代码逻辑,发现 file 参数接收的是一个 URL 字符串,这符合 SSRF 漏洞的典型特征。
为了验证漏洞是否存在,搭建本地监听服务(VPS)。构造如下请求:
GET /xxxapi/file/pdf/view?file=http://<VPS_IP>:80 HTTP/1.1
Host: xxx-desktop.xxx.com
User-Agent: Mozilla/5.0
如果 VPS 监听到来自目标服务器的 HTTP 请求,则证明 SSRF 漏洞成立。测试结果显示成功接收到 Java 语言发起的 HTTP 请求,确认漏洞存在。
利用已知的 SSRF 漏洞,尝试访问内网其他服务。由于测试环境已知部分内网 IP 段,可直接进行探测。
测试 Elasticsearch 服务:
GET /xxxapi/file/pdf/view?file=http://10.x.x.191:9200/
测试 Web 应用服务:
GET /xxxapi/file/pdf/view?file=http://10.x.x.65:8081/
通过上述请求,成功访问到内网 Elasticsearch 服务和内部 Web 应用,证实了该 SSRF 漏洞可导致内网横向移动或敏感信息泄露。
SSRF(Server-Side Request Forgery)是指攻击者诱导服务器向任意地址发送请求,从而绕过防火墙限制,访问内网资源。
对用户提交的 URL 进行严格校验:
本次漏洞挖掘过程展示了在面对'无功能'系统时的逆向思维:
安全测试不仅是技术的较量,更是思路的博弈。希望本文能为同行提供一点参考。
注:文中涉及的具体 IP 地址及域名均为脱敏处理,仅供技术交流使用。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online