扫码领资料
获网安教程
免费&进群
I DOC VIEW是一个在线的文档查看器,其中的/html/2word
接口因为处理不当,导致可以远程读取任意文件,通过这个接口导致服务器下载恶意的JSP进行解析,从而RCE。
20231115
之前版本
先定位到问题接口:
接口里面就一个方法toWord
,那么就来看看它做了什么:
前面的内容不是特别紧要,这里有一个去爬取页面的方法,也是唯一使用了url
参数的地方:
这里使用了getPage
方法来处理obj
,而obj
又是url
来的URL
对象,但是疑惑的时文件名只能是index.html
所以去看一下这个getWebPage
方法:
其实到上面这里还好,都是一些写文件的操作,并且写的也是index.html
但是下面做的操作就是本此漏洞的关键了,软件本意应该是想做一个比较完善的爬虫,所以接下会调用GrabUtility.searchForNewFilesToGrab
方法继续解析文件内容,这里的conn
也就是刚才创建的链接:
进入到GrabUtility.searchForNewFilesToGrab
查看,发现其中的内容就是解析响应值,其中获取link[href]
、script[src]
、img[src]
标签对应的内容然后存进GrabUtility
的成员变量filesToGrab
中:
然后就到了触发漏洞的操作了,这里读取了filesToGrab
的size
然后开始尝试挨个链接下载了,这里调用了GetWebPage
重载方法,目录还是原来的目录,文件名时自动解析的文件名:
这就好办了,因为程序中只对后缀做了过滤,所以只要我们不是它黑名单的后缀然后再配合目录穿越
就行了,然后黑名单是html
、htm
、php
、asp
、aspx
和net
,但是没有jsp
,所以只需要写个jsp
的?就可以了。
这里需要注意的是,因为截取/
后的内容作为文件名,所以不能使用/
进行目录穿越,但是系统是windows
上的,所以就可以使用\
来代替。
那么利用流程就是:首先启动恶意服务器,将服务器的index.html
中放入一个href
、img
或者script
定向到jsp
马就行了!(这也印证了通告中的诱导
下载危险文件)
我已经写了一键Poc:https://github.com/springkill/idocv_poc
分步复现手法如下:
构造页面:
python
启动简易http
,访问!
然后被杀(谢谢你火绒:
关了火绒(因为服务貌似会有缓存,所以需要换个端口):
测试:
当然最后不要忘记打开火绒哦。
文件操作是十分敏感的操作,尤其是向服务器中下载文件,同时下载的文件最好也有固定的目录存放并防止目录穿越,开发者已经想到了下载文件的风险,但是却没有将对策做好,导致了本次漏洞。
天知道我试了多少次……
来源: https://forum.butian.net/share/2600
声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权!
(hack视频资料及工具)
(部分展示)
往期推荐
【精选】SRC快速入门+上分小秘籍+实战指南
爬取免费代理,拥有自己的代理池
漏洞挖掘|密码找回中的套路
渗透测试岗位面试题(重点:渗透思路)
漏洞挖掘 | 通用型漏洞挖掘思路技巧
干货|列了几种均能过安全狗的方法!
一名大学生的黑客成长史到入狱的自述
攻防演练|红队手段之将蓝队逼到关站!
巧用FOFA挖到你的第一个漏洞