SRC实战|404->js审计->SSRF
2023-6-18 21:16:35 Author: Z2O安全攻防(查看原文) 阅读量:24 收藏

点击上方[蓝字],关注我们

建议大家把公众号“Z2O安全攻防”设为星标,否则可能就看不到啦!因为公众号现在只对常读和星标的公众号才能展示大图推送。操作方法:点击右上角的【...】,然后点击【设为星标】即可。

前言

在某次金融类众测项目中,笔者发现了一个几乎无从下手的系统,直接访问系统无任何功能,几乎相当于404 Not Found,甚至连JavaScript文件一个都不存在,最终通过渗透经验和一定的运气,拿下了这个高危SSRF漏洞,获得高额漏洞奖金,在此分享一下漏洞挖掘过程,带给大家渗透测试中的一点另类思路~

404 Not Found?

首先,给定的系统地址为:http://xxx-desktop.xxx.com/

直接访问一下目录看一看:

打开发现一片空白,但是页面空白并不代表是真的空白,HTML源码中可能会加载一些JavaScript文件,渗透测试时,往往会通过页面中直接泄露加载的JavaScript文件,进行审计JavaScript源码,从而挖掘出更多有用的信息。

对如何挖掘JavaScript文件中漏洞,可移步笔者之前发布的真实漏洞案例文章:https://www.freebuf.com/vuls/255640.html

回归正题,下一步找寻HTML源码中可能存在的泄露点,直接查看网页源码:

仔细阅读源码,不知道细心的同学有没有发现,其中有3个线索可以延伸利用。

libs/plugins/jquery.js
./html/apply.html?data=
cxx/token/decrypt

第1点:libs/plugins/jquery.js,加载了JavaScript文件,其路径是:http://xxx-desktop.xxx.com/libs/plugins/jquery.js

不过,此处jquery.js完全为前端文件,无任何可利用的信息,于是略过。

第2点:html/apply.html?data=,加载了当前目录下一个html文件,路径为:http://xxx-desktop.xxx.com/html/apply.html?data=

结果也是一无所获,经典Nginx的404 NOT Found。

第3点:cxx/token/decrypt,猜测为接口路径。

访问发现也是404,大概是还存在一层接口目录。

一番信息收集后无果后,接下来就是展现真正的技术了!

403 Forbidden?

虽然上面的3个可用信息都Pass掉了,不过我们还是猜测,在两个路径之前,可能还存在一层Web应用目录亦或是接口目录,随后展开对Web目录的尝试性爆破,选用一些常见的一级目录。

最终获取到3个403禁止访问的目录:

http://xxx-desktop.xxx.com/html/
http://xxx-desktop.xxx.com/css/
http://xxx-desktop.xxx.com/js/

看来第一次发现得/html/目录确实存在,不过可能是apply.html不存在导致页面的404 Not Found。

一级目录爆破,未发现可用一级目录,仅仅发现了3个静态文件目录

渗透测试的思路到这也即将中断了,不过此时突然萌生出一个想法:既然不存在能够正常使用的文件,那么我就继续去挖掘403目录下的文件,至少403404要好多了,至少它是真实存在的目录!

SSRF漏洞

继续对/html/目录、/css/目录尝试进行敏感文件扫描,未果。

使用BurpsuiteIntruder模块对/js/目录进行JavaScript文件爆破,终于获取到了可用信息!

天哪,终于是获取到了3个JavaScript文件,是什么时候变成了连发现JavaScript文件都无比激动?

JavaScript文件如下:

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

至此,捕获了一枚相当于搭建了一条内网HTTP隧道的高危SSRF漏洞。

结语

此次漏洞挖掘中总结到如下几点:

1.  系统无功能、无JavaScript文件、访问空白,尝试在HTML源码中获取一些信息;

2.  尽可能的在有用的信息中发掘更多的利用点,拓展思路;

3. “404”确实是“404”,而“403”有时候并不是“403”。

从开始的 “404” Not Found,

到中间的 “403” Forbidden,

再到最后的高危SSRF漏洞;

每一步都仿佛是被上天安排好的剧本那样,

像是一次运气游戏,

又像是一场美丽的相遇。

也许挖洞一直都是这样,简单的漏洞随手可得,艰难的挖掘过程才会让人回味无穷

文章来源:https://www.freebuf.com/vuls/265163.html作者:Aedoo_如有侵权,请联系删除。

知识星球

致力于红蓝对抗,实战攻防,星球不定时更新内外网攻防渗透技巧,以及最新学习研究成果等。常态化更新最新安全动态。专题更新奇技淫巧小Tips及实战案例。

涉及方向包括Web渗透、免杀绕过、内网攻防、代码审计、应急响应、云安全。星球中已发布 300+ 安全资源,针对网络安全成员的普遍水平,并为星友提供了教程、工具、POC&EXP以及各种学习笔记等等。

学习圈子

一个引导大家一起成长,系统化学习的圈子。如果看到这里的师傅是基础不够扎实/技术不够全面/入行安全不久/有充足时间的初学者...其中之一,那么欢迎加入我们的圈子。在圈子内会每周规划学习任务,提供资料、技术文档,供大家一起学习、交流,由浅入深、层层递进。(点我了解详情

交流群

关注公众号回复“加群”,添加Z2OBot好友,自动拉你加入Z2O安全攻防交流群(微信群)分享更多好东西。(QQ群可直接扫码添加)

关注我们

关注福利:

回复“app" 获取  app渗透和app抓包教程

回复“渗透字典" 获取 针对一些字典重新划分处理,收集了几个密码管理字典生成器用来扩展更多字典的仓库。

回复“书籍" 获取 网络安全相关经典书籍电子版pdf

回复“资料" 获取 网络安全、渗透测试相关资料文档

点个【 在看 】,你最好看


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2ODYxMzY3OQ==&mid=2247497999&idx=1&sn=66840f7c89d77ebb177705c1309202e1&chksm=ceab124ff9dc9b598daeb1cf620f57a1b4c7772f26074fa11b3e95cb01b5750d966483756021#rd
如有侵权请联系:admin#unsafe.sh