突破phpMyAdmin不能导出shell的方法

December 15, 2023
测试
测试
测试
测试
1 分钟阅读

先启动phpStudy2017

突破phpMyAdmin不能导出shell的方法 渗透测试 第1张
突破phpMyAdmin不能导出shell的方法 渗透测试 第1张

接着在浏览器中打开phpMyAdmin界面,登陆后找到变量,搜索general log,就会看到下面这张图的内容。

突破phpMyAdmin不能导出shell的方法 渗透测试 第2张
突破phpMyAdmin不能导出shell的方法 渗透测试 第2张

general log 默认设置是 off 也就是不保存日志,而general log file 则是在保存日志情况下日志的路径,这里的话就利用这个服务器端保存日志来进行一些操作。

之前有一种场景,网站检查到恶意请求就直接显示请求者的本地信息,并给出警告,这里就是将请求的信息给保存在了数据库里,哈哈,只要思路猥琐,......

所以保守的情况下只要获取网站根目录就可以getshell,现在就开始在本地进行下实验。现在是未设置日志记录前本地的WWW目录下的文件列表。

突破phpMyAdmin不能导出shell的方法 渗透测试 第3张
突破phpMyAdmin不能导出shell的方法 渗透测试 第3张

设置为ON,开启日志记录。

突破phpMyAdmin不能导出shell的方法 渗透测试 第4张
突破phpMyAdmin不能导出shell的方法 渗透测试 第4张

现在再次查看文件列表,发现多了一个php文件。

突破phpMyAdmin不能导出shell的方法 渗透测试 第5张
突破phpMyAdmin不能导出shell的方法 渗透测试 第5张

来到执行sql语句的选项,输入payload,记得加上双引号,点击执行。

突破phpMyAdmin不能导出shell的方法 渗透测试 第6张
突破phpMyAdmin不能导出shell的方法 渗透测试 第6张
突破phpMyAdmin不能导出shell的方法 渗透测试 第7张
突破phpMyAdmin不能导出shell的方法 渗透测试 第7张

最终效果

然后在浏览器访问生产的php文件,看看是不是解析成功出现了。

突破phpMyAdmin不能导出shell的方法 渗透测试 第8张
突破phpMyAdmin不能导出shell的方法 渗透测试 第8张

深入&深入

当然如果没有上面如此"便捷"的环境与条件(肯定很难有o_O), 那么在安全测试过程中还是可以试一试的,比如下面这个方法。

找到到能执行sql查询的地方

set global general_log=on; //让general log开启
 
set global general_log_file='网站绝对路径/后门.php'; //生产后门文件
 
"<?php phpinfo(); ?>"   // **log会保存一切查询命令** ,利用可以猥琐一点

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多