记一次短板打点
字数 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上传
- 使用"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端采用相同安全标准
- 上传功能应严格限制文件类型和内容
- 错误页面不应泄露系统路径信息
- 验证码机制应全平台统一实施