phpMyAdmin是一个非常受欢迎的基于web的MySQL数据库管理工具。它能够创建和删除数据库,创建/删除/修改表格,删除/编辑/新增字段,执行SQL脚本等,phpmyadmin也就相当于一个mysql的网页管理的客户端,那么为什么要渗透这个??因为它管理着mysql的执行权限,我们就可以通过渗透phpmyadmin有可能可以获取到对方的登录权限进行一方面的操作。
1、phpmyadmin网站路径信息收集。
创建一个phpinfo函数编写info.php文件查看一下phpinfo的这个路径。然后再通过phpmyadmin写入一句话木马拿到shell。1)、phpinfo函数php中提供了phpinfo()函数,该函数返回php的所有信息,包括了php的编译选项以及扩充配置、php版本、服务器信息以及环境变量、php环境变量、操作系统版本信息、路径以及环境变量配置、http标头。常见的文件名称:phpinfo.php、info.php、1.php、test.php,2)、网站真实路径获取主要方法phpinfo函数查找Document_root参数
读取中间件配置文件httpd.confhttpd.conf是Apache网络服务器软件中的主要的一个配置文件,它存储着Apache中许多必不可少的配置信息。最常用的一点。就是向里面添加建站网站信息、全部配置文件,主要配置文件:主机名称、管理员邮箱、网页文件存放的目录,权限设置等信息。访问网站页面报错、sql注入报错、文件包含漏洞读取、cms后台功能集成显示
2、读取配置文件函数以及方法利用mysq内置函数load_file()、load data infile()以及system cat三种方法、在某些情况下linux读取文件会显示乱码,需要进行编码。通常是base64编码,load_file()、load data infile()读取文件的方法为:新建一个表,读取文件为字符串形式插入表中,然后读出表中的数据,load_file()也可以直接读取文件内容,另外一个就是当前用户在拥有file权限的前提下、secure_file_priv不为null,一般root账号都有file权限、首先就是查看secure_file_priv值
然后就是创建表方法读取文件内容create table user(cmd text);insert into user(cmd) values (load_file('/tmp/1.txt'));select * from user;读取windows下的配置文件:select load_file('D:/xampp/apache/conf
tpd.conf')2)load data infile读取函数用安全防护会过滤load_file函数load data infile '/tmp/1.txt' into table user;
3)system cat命令读取在mysql版本为5.x时,除了可以使用上两种方法外,还可以使用系统命令直接读取文件。
4)错误页面爆网站路径
5)phpmyadmin报错路径收集
3批量获取phpMyAdmin信息
4、暴力破解
为什么要暴力破解??因为往往管理员的数据库账号密码有可能就是我们字典中的弱口令,这里爆破成功的话,我们就可以获取到对方的登录权,登录进去就是为了更好的进一步渗透
1)、爆破需要的工具
phpmyadmin多线程批量破解工具、burpsuite
2)、防御方法
禁用root账号、设置root账号强密码、数据库用户独立账号以及数据库、修改phpmyadmin关键词以及目录、禁止对外提供web管理、删除无用测试文件
设置root账号为非缺省名称比如说mrroot等名称,提供phpmyadmin登录后可以进行修改、设置root账号对应的密码为强密码,密码为大小写、特殊字符、字母等等组合体,最好超过10位以上