I DOC VIEW前台RCE分析

目录

漏洞影响版本

源码分析

复现

结语

彩蛋


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中:

图片

图片

然后就到了触发漏洞的操作了,这里读取了filesToGrabsize然后开始尝试挨个链接下载了,这里调用了GetWebPage重载方法,目录还是原来的目录,文件名时自动解析的文件名:

图片

图片

这就好办了,因为程序中只对后缀做了过滤,所以只要我们不是它黑名单的后缀然后再配合目录穿越就行了,然后黑名单是htmlhtmphpaspaspxnet,但是没有jsp,所以只需要写个jsp的?就可以了。

这里需要注意的是,因为截取/后的内容作为文件名,所以不能使用/进行目录穿越,但是系统是windows上的,所以就可以使用\来代替。

那么利用流程就是:首先启动恶意服务器,将服务器的index.html中放入一个hrefimg或者script定向到jsp马就行了!(这也印证了通告中的诱导下载危险文件)

复现

我已经写了一键Poc:https://github.com/springkill/idocv_poc
分步复现手法如下:
构造页面:

图片

python启动简易http,访问!

然后被杀(谢谢你火绒:

图片

关了火绒(因为服务貌似会有缓存,所以需要换个端口):

图片

测试:

图片

当然最后不要忘记打开火绒哦。

结语

文件操作是十分敏感的操作,尤其是向服务器中下载文件,同时下载的文件最好也有固定的目录存放并防止目录穿越,开发者已经想到了下载文件的风险,但是却没有将对策做好,导致了本次漏洞。

彩蛋

天知道我试了多少次……

图片

来源: https://forum.butian.net/share/2600

声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值