kkFileview ZipSlip RCE
调试环境
环境使用vulhub,源码版本v4.3.0,参考https://github.com/kekingcn/kkFileView/archive/refs/tags/v4.3.0.tar.gz
漏洞分析
cn.keking.service.CompressFileReader#unRar中自己实现了解压的逻辑
1 | OutputStream out = new FileOutputStream( extractPath+ folderName + "_" + File.separator + str[0], true); |
其中写文件的路径使用了拼接的办法导致了路径穿越,导致了任意文件写
kkFileView在使用odt转pdf时会调用系统的Libreoffice,而此进程会调用库中的uno.py文件,因此可以覆盖该py文件的内容
1 | import zipfile |
Reference
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 H4cking to the Gate .!
评论