记某研究院多处漏洞复盘
字数 1549 2025-08-19 12:41:16

某研究院漏洞复现与分析教学文档

0x1 前言

本文档详细分析某研究院网站存在的多个安全漏洞,包括弱口令登录、未授权访问、垂直越权、XSS等常见漏洞类型。所有敏感信息已做脱敏处理,仅供安全研究学习使用。

0x2 信息收集与弱口令登录

2.1 弱口令测试方法

  1. 常见弱口令组合尝试

    • admin:123456
    • admin:admin
    • admin:admin123
    • admin:password
  2. SQL注入万能密码尝试

    • admin'or'1'='1#
    • admin" or "1"="1
  3. 测试结果

    • 使用admin:123456成功登录后台
    • 表明系统缺乏基本的账户安全策略

2.2 信息收集替代方案

当弱口令无效时,可尝试以下方法:

  1. JS接口信息收集

    • 使用findsomething插件扫描JS文件
    • 查找包含api关键字的接口
    • 重点关注用户信息、权限相关的接口
  2. 接口爆破测试

    • 使用Burp Suite抓取接口请求
    • 对GET和POST请求分别进行爆破
    • 检查响应中是否包含敏感信息

0x3 未授权创建用户漏洞

3.1 漏洞发现过程

  1. 登录后台后发现"创建用户"功能
  2. 使用Burp Suite抓取创建用户的数据包
  3. 分析请求参数,发现包含Tokenid字段

3.2 漏洞验证方法

  1. 删除请求中的Tokenid字段
  2. 重新发送请求
  3. 观察是否仍能成功创建用户

3.3 漏洞原理

  • 后端未对创建用户请求进行有效的权限验证
  • 仅依赖前端传递的Token进行验证
  • Token验证可被绕过或缺失时仍能执行操作

0x4 垂直越权漏洞

4.1 漏洞发现过程

  1. 管理员账户可访问/system_staff?t=1721789887680接口
  2. 普通用户账户无此功能菜单
  3. 直接尝试用普通用户访问该接口

4.2 漏洞验证方法

  1. 使用普通用户登录(如admin123)
  2. 直接访问管理员接口:
    • /system_staff?t=1721789887680
    • /api.php/userList
  3. 检查是否能获取到管理员权限的数据

4.3 未授权访问验证

  1. 使用全新浏览器(无登录状态)
  2. 直接访问/api.php/userList接口
  3. 观察是否能获取所有用户信息

4.4 漏洞原理

  • 后端仅依赖前端菜单隐藏功能,未做服务端权限验证
  • 接口未实现基于角色的访问控制(RBAC)
  • 敏感接口未进行身份认证

0x5 存储型XSS漏洞

5.1 漏洞发现过程

  1. 管理员账户在"关于我们"页面插入测试payload
  2. 使用payload:``
  3. 保存后刷新页面观察效果

5.2 漏洞验证方法

  1. 管理员账户插入XSS payload并保存
  2. 使用其他用户(如admin123)访问该页面
  3. 观察是否触发XSS弹窗

5.3 漏洞原理

  • 用户输入未进行有效的过滤和转义
  • 后端直接存储并返回用户提交的HTML内容
  • 缺乏CSP(内容安全策略)等防护措施

0x6 漏洞修复建议

6.1 弱口令问题修复

  1. 强制使用复杂密码策略
  2. 实现账户锁定机制(多次失败后锁定)
  3. 启用多因素认证

6.2 未授权创建用户修复

  1. 服务端校验用户权限
  2. 实现CSRF Token机制
  3. 记录关键操作日志

6.3 垂直越权修复

  1. 实现基于角色的访问控制
  2. 所有敏感接口添加权限验证
  3. 使用中间件统一校验权限

6.4 XSS漏洞修复

  1. 对用户输入进行HTML实体编码
  2. 实现CSP策略
  3. 设置HttpOnly和Secure标志的Cookie

0x7 总结

本案例展示了常见Web应用安全漏洞的发现和利用过程,包括:

  1. 弱口令导致的未授权访问
  2. 功能权限控制缺失导致的未授权操作
  3. 接口权限校验缺失导致的垂直越权
  4. 输入过滤不足导致的存储型XSS

这些漏洞的组合利用可导致严重的安全后果,开发人员应重视每个环节的安全防护。

某研究院漏洞复现与分析教学文档 0x1 前言 本文档详细分析某研究院网站存在的多个安全漏洞,包括弱口令登录、未授权访问、垂直越权、XSS等常见漏洞类型。所有敏感信息已做脱敏处理,仅供安全研究学习使用。 0x2 信息收集与弱口令登录 2.1 弱口令测试方法 常见弱口令组合尝试 : admin:123456 admin:admin admin:admin123 admin:password SQL注入万能密码尝试 : admin'or'1'='1# admin" or "1"="1 测试结果 : 使用 admin:123456 成功登录后台 表明系统缺乏基本的账户安全策略 2.2 信息收集替代方案 当弱口令无效时,可尝试以下方法: JS接口信息收集 : 使用 findsomething 插件扫描JS文件 查找包含 api 关键字的接口 重点关注用户信息、权限相关的接口 接口爆破测试 : 使用Burp Suite抓取接口请求 对GET和POST请求分别进行爆破 检查响应中是否包含敏感信息 0x3 未授权创建用户漏洞 3.1 漏洞发现过程 登录后台后发现"创建用户"功能 使用Burp Suite抓取创建用户的数据包 分析请求参数,发现包含 Tokenid 字段 3.2 漏洞验证方法 删除请求中的 Tokenid 字段 重新发送请求 观察是否仍能成功创建用户 3.3 漏洞原理 后端未对创建用户请求进行有效的权限验证 仅依赖前端传递的Token进行验证 Token验证可被绕过或缺失时仍能执行操作 0x4 垂直越权漏洞 4.1 漏洞发现过程 管理员账户可访问 /system_staff?t=1721789887680 接口 普通用户账户无此功能菜单 直接尝试用普通用户访问该接口 4.2 漏洞验证方法 使用普通用户登录(如admin123) 直接访问管理员接口: /system_staff?t=1721789887680 /api.php/userList 检查是否能获取到管理员权限的数据 4.3 未授权访问验证 使用全新浏览器(无登录状态) 直接访问 /api.php/userList 接口 观察是否能获取所有用户信息 4.4 漏洞原理 后端仅依赖前端菜单隐藏功能,未做服务端权限验证 接口未实现基于角色的访问控制(RBAC) 敏感接口未进行身份认证 0x5 存储型XSS漏洞 5.1 漏洞发现过程 管理员账户在"关于我们"页面插入测试payload 使用payload: `` 保存后刷新页面观察效果 5.2 漏洞验证方法 管理员账户插入XSS payload并保存 使用其他用户(如admin123)访问该页面 观察是否触发XSS弹窗 5.3 漏洞原理 用户输入未进行有效的过滤和转义 后端直接存储并返回用户提交的HTML内容 缺乏CSP(内容安全策略)等防护措施 0x6 漏洞修复建议 6.1 弱口令问题修复 强制使用复杂密码策略 实现账户锁定机制(多次失败后锁定) 启用多因素认证 6.2 未授权创建用户修复 服务端校验用户权限 实现CSRF Token机制 记录关键操作日志 6.3 垂直越权修复 实现基于角色的访问控制 所有敏感接口添加权限验证 使用中间件统一校验权限 6.4 XSS漏洞修复 对用户输入进行HTML实体编码 实现CSP策略 设置HttpOnly和Secure标志的Cookie 0x7 总结 本案例展示了常见Web应用安全漏洞的发现和利用过程,包括: 弱口令导致的未授权访问 功能权限控制缺失导致的未授权操作 接口权限校验缺失导致的垂直越权 输入过滤不足导致的存储型XSS 这些漏洞的组合利用可导致严重的安全后果,开发人员应重视每个环节的安全防护。