契约锁 pdfverifier ZipSlip漏洞简要分析
type
status
date
slug
summary
tags
category
icon
password
AI summary
漏洞分析
漏洞入口位于:
com.qiyuesuo.api.PdfVerifierController#verify()
这里的
verify
方法接收一个上传的文件对象,获取内容和文件类型后,传入doVerify
如果类型为ofd的话,即可调用
gjzwOfdVerifyHandler.verify()
跟进
isOfd()
这里把上传的内容写到临时ofd文件中并解压,这里没有对压缩包内部的文件名做安全校验,导致Zipslip漏洞,可以上传任意文件。
由于契约锁的安全补丁是热更新。根据这个机制,我们可以上传恶意jar包覆盖
private-security-patch.jar
漏洞复现
1.网站首页如下图:


在官网下载一个补丁包,然后在补丁jar的clas中插入恶意代码即可。
或者按照https://mp.weixin.qq.com/s/u--mcFjhYly74q-Qg3D7jQ提到的操作,制作一个
com.qiyuesuo.security.patch.filter.logic.AAAA
的class拖入正常补丁jar包中使用以下脚本构造路径穿越的压缩包:
使用以下PoC上传zip,有的版本路径是/api/pdfverifier
Loading...