bugbounty之政府网址一锅端
字数 1644 2025-08-18 17:33:13

政府网站渗透测试实战教学文档

1. 测试背景与目标

  • 测试类型:黑盒Web渗透测试
  • 目标范围:仅提供一个URL(redacted.gov.lol)
  • 初始界面:仅包含验证码保护的登录页面,无注册/密码重置功能

2. 初始侦察阶段

2.1 登录页面分析

  • 验证码在点击"登录"后弹出,无法绕过
  • 缺乏用户名构造信息(字符类型、长度等),暴力破解不可行

2.2 目录扫描

  • 使用常规字典扫描发现Tomcat目录
  • 尝试访问/html/manager/但受基本身份验证保护
  • 使用Metasploit的tomcat_mgr_login模块进行暴力破解未果

2.3 版本信息泄露

  • 通过"Improper Error Handling"页面获取Tomcat版本
  • 尝试利用该版本的已知CVE未成功

2.4 中间件识别

  • 通过错误凭证登录响应cookie识别出F5 BigIP
  • 尝试利用F5 BigIP的RCE漏洞和已知错误配置未果

3. 深入侦察与突破

3.1 扩大目录扫描

  • 使用更大字典重新扫描,发现3个新HTML页面:
    1. 空白页
    2. 无限重定向循环页面
    3. 重复登录页面(但源代码行数更多)

3.2 源代码分析

  • 在第三个页面发现额外JS文件
  • JS文件中包含多个URL端点,但需要特定条件访问:
    • 身份验证
    • 特定请求方法
    • 特定源URL
    • 特定内容类型

3.3 硬编码凭证发现

  • 一个JS文件包含指向HTML页面的链接
  • 源代码中发现包含User-Token参数的请求

4. 权限获取与提升

4.1 初始访问

  • 将发现的User-Token添加到之前收集的请求中
  • 成功访问API端点(无GUI界面)

4.2 信息收集循环

  1. 发送带令牌的请求
  2. 从响应中收集JS文件
  3. 从JS文件中提取更多URL和参数
  4. 添加到请求列表并重复(约20次)

4.3 功能发现

  • 发现一个添加菜单栏图标的HTML响应
  • 完成整个流程后重定向到登录页面
  • 添加User-Token后访问到"命令执行"功能

4.4 命令执行突破

  • 大多数命令被过滤
  • 使用tree命令(从JS文件中发现)成功执行
    • 获取整个网站URL结构及说明

5. 权限提升与重大发现

5.1 管理员控制台发现

  • 发现"Admin Console" URL但访问被拒
  • 通过个人资料页面确认当前为低权限用户

5.2 访问控制绕过

  • 发现无需权限的"复制用户"功能页面
  • 参数分析后可将现有用户复制为新用户
  • 成功复制"Administrator"角色到新用户"GeneralEG"

5.3 管理员权限获取

  • 使用新凭证登录获得UI访问权限
  • 可访问"创建用户"等管理员功能

5.4 重大漏洞发现

  • 可创建具有任意角色的用户
  • 可关联到7000+政府网站(包括关键部门)
  • 确认该系统为政府E-Systems链的头网站,用于其他网站用户管理

6. 额外漏洞发现

  • 远程命令执行漏洞
  • 后台SQL注入漏洞(可直接访问服务器)

7. 渗透测试方法论总结

  1. 不要过早放弃:多次尝试不同方法
  2. 全面侦察:不断扩大信息收集范围
  3. 记录一切:即使看似无用的信息也可能成为突破口
  4. 代码审计:仔细分析HTML/JS源代码中的线索
  5. 权限提升路径:从低权限用户逐步寻找提升方法
  6. 休息调整:遇到瓶颈时适当休息有助于新思路
  7. 信息循环:不断从新发现中提取更多信息

8. 技术要点总结

  • 目录扫描:使用不同规模的字典多次尝试
  • 源代码审计:关注行数差异、隐藏JS文件和硬编码凭证
  • API端点枚举:通过合法流程发现隐藏功能
  • 命令执行绕过:尝试非常规命令(如tree)
  • 权限提升:寻找复制用户等非常规功能
  • 访问控制测试:全面检查所有管理员功能

9. 防御建议

  1. 验证码实现:确保无法绕过
  2. 错误处理:避免泄露版本信息
  3. 源代码保护:避免硬编码凭证和敏感信息
  4. 权限控制:严格实施最小权限原则
  5. 功能审计:审查所有功能(包括看似无害的如"复制用户")
  6. 输入过滤:全面过滤命令执行功能
  7. API安全:实施严格的认证和授权机制
政府网站渗透测试实战教学文档 1. 测试背景与目标 测试类型 :黑盒Web渗透测试 目标范围 :仅提供一个URL(redacted.gov.lol) 初始界面 :仅包含验证码保护的登录页面,无注册/密码重置功能 2. 初始侦察阶段 2.1 登录页面分析 验证码在点击"登录"后弹出,无法绕过 缺乏用户名构造信息(字符类型、长度等),暴力破解不可行 2.2 目录扫描 使用常规字典扫描发现Tomcat目录 尝试访问 /html/manager/ 但受基本身份验证保护 使用Metasploit的 tomcat_mgr_login 模块进行暴力破解未果 2.3 版本信息泄露 通过"Improper Error Handling"页面获取Tomcat版本 尝试利用该版本的已知CVE未成功 2.4 中间件识别 通过错误凭证登录响应cookie识别出F5 BigIP 尝试利用F5 BigIP的RCE漏洞和已知错误配置未果 3. 深入侦察与突破 3.1 扩大目录扫描 使用更大字典重新扫描,发现3个新HTML页面: 空白页 无限重定向循环页面 重复登录页面(但源代码行数更多) 3.2 源代码分析 在第三个页面发现额外JS文件 JS文件中包含多个URL端点,但需要特定条件访问: 身份验证 特定请求方法 特定源URL 特定内容类型 3.3 硬编码凭证发现 一个JS文件包含指向HTML页面的链接 源代码中发现包含 User-Token 参数的请求 4. 权限获取与提升 4.1 初始访问 将发现的 User-Token 添加到之前收集的请求中 成功访问API端点(无GUI界面) 4.2 信息收集循环 发送带令牌的请求 从响应中收集JS文件 从JS文件中提取更多URL和参数 添加到请求列表并重复(约20次) 4.3 功能发现 发现一个添加菜单栏图标的HTML响应 完成整个流程后重定向到登录页面 添加 User-Token 后访问到"命令执行"功能 4.4 命令执行突破 大多数命令被过滤 使用 tree 命令(从JS文件中发现)成功执行 获取整个网站URL结构及说明 5. 权限提升与重大发现 5.1 管理员控制台发现 发现"Admin Console" URL但访问被拒 通过个人资料页面确认当前为低权限用户 5.2 访问控制绕过 发现无需权限的"复制用户"功能页面 参数分析后可将现有用户复制为新用户 成功复制"Administrator"角色到新用户"GeneralEG" 5.3 管理员权限获取 使用新凭证登录获得UI访问权限 可访问"创建用户"等管理员功能 5.4 重大漏洞发现 可创建具有任意角色的用户 可关联到7000+政府网站(包括关键部门) 确认该系统为政府E-Systems链的头网站,用于其他网站用户管理 6. 额外漏洞发现 远程命令执行漏洞 后台SQL注入漏洞(可直接访问服务器) 7. 渗透测试方法论总结 不要过早放弃 :多次尝试不同方法 全面侦察 :不断扩大信息收集范围 记录一切 :即使看似无用的信息也可能成为突破口 代码审计 :仔细分析HTML/JS源代码中的线索 权限提升路径 :从低权限用户逐步寻找提升方法 休息调整 :遇到瓶颈时适当休息有助于新思路 信息循环 :不断从新发现中提取更多信息 8. 技术要点总结 目录扫描 :使用不同规模的字典多次尝试 源代码审计 :关注行数差异、隐藏JS文件和硬编码凭证 API端点枚举 :通过合法流程发现隐藏功能 命令执行绕过 :尝试非常规命令(如tree) 权限提升 :寻找复制用户等非常规功能 访问控制测试 :全面检查所有管理员功能 9. 防御建议 验证码实现 :确保无法绕过 错误处理 :避免泄露版本信息 源代码保护 :避免硬编码凭证和敏感信息 权限控制 :严格实施最小权限原则 功能审计 :审查所有功能(包括看似无害的如"复制用户") 输入过滤 :全面过滤命令执行功能 API安全 :实施严格的认证和授权机制