起因
前几天想用yapi记录下接口文档并接口测试,于是便通过docker在服务器安装了yapi和mongoDB,完成了一系列配置之后,顺利进入yapi。
谈到安全问题,关于mongoDB需要特别注意:在默认部署情况下,MongoDB无需身份验证,即可登录。不法分子只要在互联网上发现MongoDB的地址和端口就能通过工具直接访问MongoDB,并拥有MongoDB全部权限。
使用mongoDB切记一定要启动访问权限限制,如何操作,可参考官方文档。如果你的mongoDB数据库直接在公网上裸奔的话,估计不出2天就被勒索了。
本人已被勒索多次……
yapi的漏洞
具体怎么通过漏洞攻击参考github issue#2233。
攻击者注册yapi账户,创建项目,自定义全局mock脚本。
源码中执行全局mock脚本的地方:
脚本通过safeify执行
攻击者嵌入脚本,创建子进程下载病毒文件并授权执行。
受害人群
在yapi的github下,有不少issues都提到这个安全漏洞,在issue#2229中,我看到大部分人受到与我相似的攻击。
可惜yapi的代码已经半年多没有维护了,
逮到病毒文件
我在yapi容器中找到了这两个病毒文件,想知道这两文件执行后干了什么。
把文件下载到windows sandbox中,是类unix系统的可执行文件,没有后缀名,加后缀.exe改为windows可执行文件但无法执行。
使用sublime text打开,文件内容如下
两个文件差不多都是这样,看起来像一个字节码文件,我不太懂这个,有了解的朋友麻烦留言科普一下。