记某研究院多处漏洞复盘
字数 1549 2025-08-19 12:41:16
某研究院漏洞复现与分析教学文档
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
这些漏洞的组合利用可导致严重的安全后果,开发人员应重视每个环节的安全防护。