记一次短板打点
字数 1435 2025-08-18 17:33:36

记一次短板打点渗透测试实战教学

1. 目标环境概述

  • 测试类型:纯黑盒测试
  • 目标系统:仅提供登录框的Web应用
  • 限制条件:
    • 无测试账号
    • 忘记密码功能不可用
    • 密码采用动态密钥加密(相同密码每次加密结果不同)
    • 登录失败后出现验证码(不可重用且难以识别)

2. 初始信息收集

2.1 目录爆破

  • 发现目录:
    • /scripts
    • /plugins
    • /pictures
    • /manual
  • 结果:大部分返回403状态码
  • 关键发现:404页面泄露了绝对路径

2.2 用户名枚举

  • 确认存在用户:sysadmin
  • 尝试手动猜解密码未成功

3. JS文件分析

3.1 JS文件爆破

  • 重点爆破/scripts目录下的JS文件
  • 关键发现:
    • 修改密码接口(但无权限使用)
    • manual.js中引用的手册文件

3.2 手册分析

  • 发现文件:XX工程标准化运行巡查操作手册.pdf
  • 关键信息:
    • 包含APP下载二维码
    • 默认口令信息
    • 用户名格式为人名(如"xx燕")

4. 移动端APP分析

4.1 APP通信分析

  • 通信目标:域名:20000端口
  • 发现域名解析IP与目标不同
  • 解决方案:本地hosts绑定目标IP

4.2 登录机制分析

  • 无验证码保护
  • 密码仅进行MD5加密(非动态密钥)
  • 登录表单自动填充密码

5. 密码爆破

5.1 爆破策略

  • 使用Burp Suite抓取登录请求
  • 针对MD5哈希进行爆破
  • 成功解密获得明文密码

5.2 账户获取

  • 使用sysadmin和爆破获得的密码成功登录
  • 根据人名格式设置用户名(如"xx燕")和简单密码(如"123")
  • 获取一批普通用户账号

6. 漏洞挖掘

6.1 SQL注入发现

  • 使用Xray扫描APP功能
  • 发现SQL注入点(SQL Server报错注入)
  • 注入特征:convert()报错方法

6.2 SQLMap利用

  • 初始问题:SQLMap未识别JSON参数
  • 解决方案:手动添加*标记注入点
  • 调整策略:
    • 修改error_based.xml中convert() payload的level为1
    • 成功注入但非DBA权限

7. 文件上传利用

7.1 上传功能发现

  • sysadmin账户存在图片上传功能
  • 普通用户"xx燕"也有上传功能

7.2 Webshell上传

  1. 使用"xx燕"账户上传文件
  2. 尝试aspx马失败(IIS配置问题)
  3. 改用asp马成功getshell

8. 关键技术与工具

8.1 使用工具

  • Burp Suite:流量拦截与修改
  • Xray:自动化漏洞扫描
  • SQLMap:SQL注入利用
  • mitmproxy+pyppeteer(初始考虑但未使用)

8.2 技术要点

  • 动态密钥加密绕过(通过APP发现简化加密方式)
  • 路径泄露利用
  • JS文件信息泄露挖掘
  • 跨平台测试(Web+APP结合)
  • 上传漏洞利用技巧(文件类型选择)

9. 经验总结

  1. 信息收集全面性:从JS文件到PDF手册都可能是突破口
  2. 多维度测试:当Web端防护严密时,移动端可能是薄弱环节
  3. 配置差异利用:不同平台/接口可能采用不同安全策略
  4. 木桶原则应用:系统安全性取决于最薄弱的环节
  5. 工具深度使用:了解工具原理(如SQLMap的level机制)可提高成功率

10. 防御建议

  1. 统一加密方案,避免不同接口采用不同安全级别
  2. 敏感文档(如操作手册)应进行访问控制
  3. 移动端API应与Web端采用相同安全标准
  4. 上传功能应严格限制文件类型和内容
  5. 错误页面不应泄露系统路径信息
  6. 验证码机制应全平台统一实施
记一次短板打点渗透测试实战教学 1. 目标环境概述 测试类型:纯黑盒测试 目标系统:仅提供登录框的Web应用 限制条件: 无测试账号 忘记密码功能不可用 密码采用动态密钥加密(相同密码每次加密结果不同) 登录失败后出现验证码(不可重用且难以识别) 2. 初始信息收集 2.1 目录爆破 发现目录: /scripts /plugins /pictures /manual 结果:大部分返回403状态码 关键发现:404页面泄露了绝对路径 2.2 用户名枚举 确认存在用户: sysadmin 尝试手动猜解密码未成功 3. JS文件分析 3.1 JS文件爆破 重点爆破/scripts目录下的JS文件 关键发现: 修改密码接口(但无权限使用) manual.js中引用的手册文件 3.2 手册分析 发现文件:XX工程标准化运行巡查操作手册.pdf 关键信息: 包含APP下载二维码 默认口令信息 用户名格式为人名(如"xx燕") 4. 移动端APP分析 4.1 APP通信分析 通信目标:域名:20000端口 发现域名解析IP与目标不同 解决方案:本地hosts绑定目标IP 4.2 登录机制分析 无验证码保护 密码仅进行MD5加密(非动态密钥) 登录表单自动填充密码 5. 密码爆破 5.1 爆破策略 使用Burp Suite抓取登录请求 针对MD5哈希进行爆破 成功解密获得明文密码 5.2 账户获取 使用 sysadmin 和爆破获得的密码成功登录 根据人名格式设置用户名(如"xx燕")和简单密码(如"123") 获取一批普通用户账号 6. 漏洞挖掘 6.1 SQL注入发现 使用Xray扫描APP功能 发现SQL注入点(SQL Server报错注入) 注入特征:convert()报错方法 6.2 SQLMap利用 初始问题:SQLMap未识别JSON参数 解决方案:手动添加 * 标记注入点 调整策略: 修改error_ based.xml中convert() payload的level为1 成功注入但非DBA权限 7. 文件上传利用 7.1 上传功能发现 sysadmin账户存在图片上传功能 普通用户"xx燕"也有上传功能 7.2 Webshell上传 使用"xx燕"账户上传文件 尝试aspx马失败(IIS配置问题) 改用asp马成功getshell 8. 关键技术与工具 8.1 使用工具 Burp Suite:流量拦截与修改 Xray:自动化漏洞扫描 SQLMap:SQL注入利用 mitmproxy+pyppeteer(初始考虑但未使用) 8.2 技术要点 动态密钥加密绕过(通过APP发现简化加密方式) 路径泄露利用 JS文件信息泄露挖掘 跨平台测试(Web+APP结合) 上传漏洞利用技巧(文件类型选择) 9. 经验总结 信息收集全面性 :从JS文件到PDF手册都可能是突破口 多维度测试 :当Web端防护严密时,移动端可能是薄弱环节 配置差异利用 :不同平台/接口可能采用不同安全策略 木桶原则应用 :系统安全性取决于最薄弱的环节 工具深度使用 :了解工具原理(如SQLMap的level机制)可提高成功率 10. 防御建议 统一加密方案,避免不同接口采用不同安全级别 敏感文档(如操作手册)应进行访问控制 移动端API应与Web端采用相同安全标准 上传功能应严格限制文件类型和内容 错误页面不应泄露系统路径信息 验证码机制应全平台统一实施