从某站点的弱口令泄露到通用GetShell
字数 1319 2025-08-24 20:49:22

从弱口令到通用GetShell渗透测试教学文档

1. 信息收集阶段

1.1 使用FOFA进行目标发现

  • 使用FOFA搜索引擎寻找潜在目标站点
  • 通过特定关键词或特征筛选可能存在漏洞的网站

1.2 弱口令测试

  • 尝试常见弱口令组合(如admin/admin等)
  • 成功发现存在弱口令的站点(账号密码未明确说明)

2. 登录框漏洞分析

2.1 初步测试

  • 不急于直接进入后台,先分析登录框功能
  • 使用Burp Suite拦截登录请求和响应

2.2 SQL注入尝试

  • 测试登录参数是否存在SQL注入漏洞
  • 发现存在过滤机制,注入尝试失败

2.3 响应包分析

  • 拦截返回包发现"succeeded"值
  • 复制整个成功登录的响应包

3. 横向渗透技术

3.1 响应包重放攻击

  • 将复制的响应包用于其他站点
  • 成功进入后台但报数据库错误

3.2 数据库名称泄露

  • 分析响应包发现两处数据库名称调用
  • 数据库名称明文出现在URL参数中
  • 修改响应包中的数据库名称后成功登录

4. 文件上传GetShell

4.1 寻找上传点

  • 在后台寻找文件上传功能(如头像上传)
  • 发现前端仅限制图片格式

4.2 绕过上传限制

  • 使用Burp Suite拦截上传请求
  • 修改Content-Type或文件扩展名绕过限制
  • 获取上传后的文件路径

4.3 连接WebShell

  • 使用蚁剑连接上传的WebShell
  • 成功获取服务器权限

5. 二次漏洞利用

5.1 SQL注入深入利用

  • 发现另一处SQL注入点
  • 使用sqlmap进行自动化测试
  • 因为是SqlServer数据库,使用--os-shell参数
  • 通过xp_cmdshell执行系统命令

5.2 写入WebShell

echo "<%eval request("10sec")%>" > D:\1.asp
  • 利用已知路径写入新的WebShell
  • 再次使用蚁剑连接

6. 登录绕过漏洞

6.1 参数发现

  • 在抓包过程中发现pass=skip参数
  • 该参数调用admin用户账号

6.2 登录绕过测试

  • 在登录时直接使用skip作为密码
  • 成功绕过登录验证
  • 该漏洞在其他站点通用

7. 其他漏洞点

7.1 多漏洞利用

  • 后台发现多处SQL注入和文件上传漏洞
  • 利用方式与之前相同

8. 渗透后处理

8.1 清理痕迹

  • 删除上传的WebShell文件
  • 点到为止,不进行进一步破坏

8.2 漏洞报告

  • 将所有发现提交至漏洞平台

9. 关键知识点总结

  1. 弱口令利用:始终是渗透测试中最常见的突破口
  2. 响应包分析:仔细检查响应内容可能发现关键信息
  3. 横向渗透:一个站点的漏洞可能适用于其他相似站点
  4. 数据库信息泄露:URL中的明文参数是常见的信息泄露点
  5. 文件上传绕过:前端限制可通过代理工具轻松绕过
  6. SqlServer特权利用:xp_cmdshell可获取系统级权限
  7. 参数篡改:非标准参数(如pass=skip)可能隐藏认证绕过漏洞
  8. 多漏洞组合:综合使用多种漏洞可提高渗透成功率

10. 防御建议

  1. 强制使用强密码策略
  2. 对敏感信息(如数据库名称)进行加密处理
  3. 实施严格的后端文件类型验证
  4. 禁用或严格限制xp_cmdshell等危险存储过程
  5. 避免在URL中传递敏感参数
  6. 实现完善的输入验证和过滤机制
  7. 定期进行安全审计和渗透测试
  8. 对认证流程进行严格测试,避免逻辑漏洞
从弱口令到通用GetShell渗透测试教学文档 1. 信息收集阶段 1.1 使用FOFA进行目标发现 使用FOFA搜索引擎寻找潜在目标站点 通过特定关键词或特征筛选可能存在漏洞的网站 1.2 弱口令测试 尝试常见弱口令组合(如admin/admin等) 成功发现存在弱口令的站点(账号密码未明确说明) 2. 登录框漏洞分析 2.1 初步测试 不急于直接进入后台,先分析登录框功能 使用Burp Suite拦截登录请求和响应 2.2 SQL注入尝试 测试登录参数是否存在SQL注入漏洞 发现存在过滤机制,注入尝试失败 2.3 响应包分析 拦截返回包发现"succeeded"值 复制整个成功登录的响应包 3. 横向渗透技术 3.1 响应包重放攻击 将复制的响应包用于其他站点 成功进入后台但报数据库错误 3.2 数据库名称泄露 分析响应包发现两处数据库名称调用 数据库名称明文出现在URL参数中 修改响应包中的数据库名称后成功登录 4. 文件上传GetShell 4.1 寻找上传点 在后台寻找文件上传功能(如头像上传) 发现前端仅限制图片格式 4.2 绕过上传限制 使用Burp Suite拦截上传请求 修改Content-Type或文件扩展名绕过限制 获取上传后的文件路径 4.3 连接WebShell 使用蚁剑连接上传的WebShell 成功获取服务器权限 5. 二次漏洞利用 5.1 SQL注入深入利用 发现另一处SQL注入点 使用sqlmap进行自动化测试 因为是SqlServer数据库,使用--os-shell参数 通过xp_ cmdshell执行系统命令 5.2 写入WebShell 利用已知路径写入新的WebShell 再次使用蚁剑连接 6. 登录绕过漏洞 6.1 参数发现 在抓包过程中发现pass=skip参数 该参数调用admin用户账号 6.2 登录绕过测试 在登录时直接使用skip作为密码 成功绕过登录验证 该漏洞在其他站点通用 7. 其他漏洞点 7.1 多漏洞利用 后台发现多处SQL注入和文件上传漏洞 利用方式与之前相同 8. 渗透后处理 8.1 清理痕迹 删除上传的WebShell文件 点到为止,不进行进一步破坏 8.2 漏洞报告 将所有发现提交至漏洞平台 9. 关键知识点总结 弱口令利用 :始终是渗透测试中最常见的突破口 响应包分析 :仔细检查响应内容可能发现关键信息 横向渗透 :一个站点的漏洞可能适用于其他相似站点 数据库信息泄露 :URL中的明文参数是常见的信息泄露点 文件上传绕过 :前端限制可通过代理工具轻松绕过 SqlServer特权利用 :xp_ cmdshell可获取系统级权限 参数篡改 :非标准参数(如pass=skip)可能隐藏认证绕过漏洞 多漏洞组合 :综合使用多种漏洞可提高渗透成功率 10. 防御建议 强制使用强密码策略 对敏感信息(如数据库名称)进行加密处理 实施严格的后端文件类型验证 禁用或严格限制xp_ cmdshell等危险存储过程 避免在URL中传递敏感参数 实现完善的输入验证和过滤机制 定期进行安全审计和渗透测试 对认证流程进行严格测试,避免逻辑漏洞