某系统渗透测试
字数 1743 2025-08-22 12:22:54

事业单位系统渗透测试实战教学文档

前言

本教学文档基于某事业单位系统的渗透测试实战案例,该系统存在多个典型漏洞,适合新手学习。文档将详细分析每个漏洞的发现过程、利用方法及防御建议。

1. 弱口令漏洞

发现过程

  • 在系统登录界面尝试常见账号密码组合
  • 使用test/123456成功登录系统

漏洞利用

  • 尝试常见弱口令组合如:
    • admin/admin
    • admin/123456
    • test/test
    • root/root
    • guest/guest

防御建议

  1. 实施强密码策略(至少8位,包含大小写字母、数字和特殊字符)
  2. 设置账户锁定机制(连续多次失败后锁定)
  3. 禁用默认账户或修改默认密码
  4. 实施多因素认证

2. 地图Key泄露

发现过程

  • 登录后进入地图界面
  • 查看网页源代码搜索"key"相关字符串
  • 发现高德地图API Key明文存储

漏洞利用

  • 获取的Key可用于:
    • 超出配额使用导致服务中断
    • 产生额外费用
    • 伪造请求

防御建议

  1. 将API Key存储在服务器端
  2. 设置API Key的访问限制(IP白名单、HTTP Referrer限制)
  3. 定期轮换API Key
  4. 监控API Key使用情况

3. 目录浏览漏洞

发现过程

  • 在网站中发现图片资源
  • 右键图片选择"在新标签页打开"
  • 观察URL结构(如/images/123456.jpg
  • 尝试删除文件名,直接访问目录路径(如/images/

漏洞利用

  • 通过目录浏览可发现:
    • 敏感配置文件
    • 备份文件
    • 未链接的资源文件
    • 其他敏感信息

防御建议

  1. 在Web服务器配置中禁用目录列表
    • Apache: Options -Indexes
    • Nginx: autoindex off
  2. 确保每个目录包含默认页面(如index.html)
  3. 定期扫描网站目录结构

4. 敏感信息泄露

发现过程

  • 通过Burp Suite等工具拦截请求
  • 发现返回包含用户敏感信息的API接口
  • 信息包括:用户名、密码(明文或哈希)、手机号等

漏洞利用

  • 收集泄露信息用于:
    • 进一步渗透测试
    • 社会工程学攻击
    • 撞库攻击

防御建议

  1. 实施最小权限原则
  2. 对敏感数据进行加密存储
  3. 实施严格的访问控制
  4. 定期审计API接口
  5. 敏感信息返回前进行脱敏处理

5. 文件上传漏洞(存储型XSS)

发现过程

  • 在头像上传功能处测试
  • 前端限制上传文件类型(如仅图片)
  • 使用Burp Suite拦截请求,修改文件后缀为.html
  • 上传成功后访问该文件触发XSS

漏洞利用

  1. 绕过前端验证:
    • 拦截上传请求
    • 修改Content-Type为text/html
    • 修改文件扩展名为.html
  2. 构造恶意HTML文件:
<script>alert(document.cookie)</script>

防御建议

  1. 实施服务器端文件类型验证
  2. 限制上传文件扩展名
  3. 对上传文件重命名(不使用用户提供的文件名)
  4. 设置文件上传目录无执行权限
  5. 使用内容检测机制(如病毒扫描)

6. Spring接口信息泄露

发现过程

  • 访问常见Spring端点如:
    • /actuator
    • /env
    • /heapdump
    • /trace
  • 发现敏感配置信息泄露

漏洞利用

  • 获取的信息可能包括:
    • 数据库凭证
    • 加密密钥
    • 内部服务地址
    • 系统配置

防御建议

  1. 生产环境禁用Spring Actuator
  2. 或配置严格的访问控制
  3. 使用自定义管理端口
  4. 实施IP白名单限制

7. 接口遍历漏洞

发现过程

  • 通过修改ID参数枚举用户(如/user/1, /user/2)
  • 发现返回不同用户的敏感信息
  • 或使用Burp Intruder进行自动化枚举

漏洞利用

  • 编写简单脚本自动化收集信息:
import requests

for i in range(1,100):
    response = requests.get(f'http://target.com/user/{i}')
    if response.status_code == 200:
        print(response.text)

防御建议

  1. 实施严格的访问控制
  2. 使用不可预测的标识符(如UUID而非自增ID)
  3. 对敏感操作实施速率限制
  4. 返回数据前进行权限检查

总结

本次渗透测试发现了目标系统的多个安全漏洞,从简单的弱口令到敏感信息泄露,展示了常见Web应用的安全问题。防御措施应遵循"纵深防御"原则,在每一层都实施适当的安全控制。

附录:渗透测试检查清单

  1. 认证机制测试

    • 弱口令测试
    • 账户锁定测试
    • 密码策略检查
  2. 信息泄露测试

    • 目录浏览
    • 源码/配置泄露
    • 错误信息泄露
  3. 输入验证测试

    • XSS测试
    • SQL注入测试
    • 文件上传测试
  4. 接口安全测试

    • 未授权访问
    • 接口枚举
    • 敏感数据暴露
  5. 第三方组件测试

    • 已知漏洞检查
    • 不必要服务检查
    • 配置安全检查
事业单位系统渗透测试实战教学文档 前言 本教学文档基于某事业单位系统的渗透测试实战案例,该系统存在多个典型漏洞,适合新手学习。文档将详细分析每个漏洞的发现过程、利用方法及防御建议。 1. 弱口令漏洞 发现过程 在系统登录界面尝试常见账号密码组合 使用 test/123456 成功登录系统 漏洞利用 尝试常见弱口令组合如: admin/admin admin/123456 test/test root/root guest/guest 防御建议 实施强密码策略(至少8位,包含大小写字母、数字和特殊字符) 设置账户锁定机制(连续多次失败后锁定) 禁用默认账户或修改默认密码 实施多因素认证 2. 地图Key泄露 发现过程 登录后进入地图界面 查看网页源代码搜索"key"相关字符串 发现高德地图API Key明文存储 漏洞利用 获取的Key可用于: 超出配额使用导致服务中断 产生额外费用 伪造请求 防御建议 将API Key存储在服务器端 设置API Key的访问限制(IP白名单、HTTP Referrer限制) 定期轮换API Key 监控API Key使用情况 3. 目录浏览漏洞 发现过程 在网站中发现图片资源 右键图片选择"在新标签页打开" 观察URL结构(如 /images/123456.jpg ) 尝试删除文件名,直接访问目录路径(如 /images/ ) 漏洞利用 通过目录浏览可发现: 敏感配置文件 备份文件 未链接的资源文件 其他敏感信息 防御建议 在Web服务器配置中禁用目录列表 Apache: Options -Indexes Nginx: autoindex off 确保每个目录包含默认页面(如index.html) 定期扫描网站目录结构 4. 敏感信息泄露 发现过程 通过Burp Suite等工具拦截请求 发现返回包含用户敏感信息的API接口 信息包括:用户名、密码(明文或哈希)、手机号等 漏洞利用 收集泄露信息用于: 进一步渗透测试 社会工程学攻击 撞库攻击 防御建议 实施最小权限原则 对敏感数据进行加密存储 实施严格的访问控制 定期审计API接口 敏感信息返回前进行脱敏处理 5. 文件上传漏洞(存储型XSS) 发现过程 在头像上传功能处测试 前端限制上传文件类型(如仅图片) 使用Burp Suite拦截请求,修改文件后缀为.html 上传成功后访问该文件触发XSS 漏洞利用 绕过前端验证: 拦截上传请求 修改Content-Type为 text/html 修改文件扩展名为.html 构造恶意HTML文件: 防御建议 实施服务器端文件类型验证 限制上传文件扩展名 对上传文件重命名(不使用用户提供的文件名) 设置文件上传目录无执行权限 使用内容检测机制(如病毒扫描) 6. Spring接口信息泄露 发现过程 访问常见Spring端点如: /actuator /env /heapdump /trace 发现敏感配置信息泄露 漏洞利用 获取的信息可能包括: 数据库凭证 加密密钥 内部服务地址 系统配置 防御建议 生产环境禁用Spring Actuator 或配置严格的访问控制 使用自定义管理端口 实施IP白名单限制 7. 接口遍历漏洞 发现过程 通过修改ID参数枚举用户(如/user/1, /user/2) 发现返回不同用户的敏感信息 或使用Burp Intruder进行自动化枚举 漏洞利用 编写简单脚本自动化收集信息: 防御建议 实施严格的访问控制 使用不可预测的标识符(如UUID而非自增ID) 对敏感操作实施速率限制 返回数据前进行权限检查 总结 本次渗透测试发现了目标系统的多个安全漏洞,从简单的弱口令到敏感信息泄露,展示了常见Web应用的安全问题。防御措施应遵循"纵深防御"原则,在每一层都实施适当的安全控制。 附录:渗透测试检查清单 认证机制测试 弱口令测试 账户锁定测试 密码策略检查 信息泄露测试 目录浏览 源码/配置泄露 错误信息泄露 输入验证测试 XSS测试 SQL注入测试 文件上传测试 接口安全测试 未授权访问 接口枚举 敏感数据暴露 第三方组件测试 已知漏洞检查 不必要服务检查 配置安全检查