漏洞概述
“温泉网络验证授权系统”是一个基于PHP的Web应用,其后端通过ajax.php处理登录和用户管理请求。漏洞主要集中在以下两个方面:
-
登录认证绕过(Access Token 空值绕过):系统在登录接口中对
accesstoken参数的验证存在逻辑缺陷。当accesstoken为空时,系统会错误地将请求视为合法登录,导致未授权访问。 -
管理员账号任意添加(无认证添加用户):即使登录绕过失败,攻击者也可以直接调用添加管理员接口(
mod=addadmin),无需任何认证即可创建新管理员账号。添加参数包括用户名、密码和QQ号,均无强度验证。
这些漏洞结合使用,可以实现零门槛的权限提升。系统URL示例:http://160.202.253.7//admin/ajax.php/ajax.php?mod=login(注意双ajax.php,可能是部署配置问题)。
漏洞等级:高危(CVSS v3.1 评分估算:8.1,高可用性影响 + 高权限提升)。
复现步骤
我将使用Burp Suite或类似工具模拟HTTP请求进行复现。环境:目标服务器160.202.253.7,端口默认80。所有请求均为POST方法,Content-Type为application/x-www-form-urlencoded; Charset=UTF-8。
提示:在实际测试中,我使用了随机生成的PHPSESSID Cookie,但它并非必需。参数无任何验证(如密码复杂度),攻击者可随意设置弱密码。
潜在影响
- 权限提升:攻击者可获得管理员权限,控制整个授权系统,包括用户验证、授权发放等核心功能。
- 数据泄露:管理员面板可能暴露敏感信息,如用户授权记录、密钥等。
- 横向移动:如果系统集成其他服务(如温泉网络设备管理),可进一步扩展攻击面。
- 适用范围:该系统可能部署在多个温泉/网络验证场景中,影响广泛。建议扫描类似IP段的部署。
修复建议
-
登录接口强化:
- 严格验证
accesstoken:确保非空、非默认值,并使用HMAC或JWT等标准机制生成/验证。 - 添加CSRF Token和Origin检查,防止跨站请求伪造。
- 严格验证
-
添加管理员接口保护:
- 要求管理员会话认证(如检查登录状态)。
- 实现参数验证:密码至少8位、包含特殊字符;用户名唯一性检查。
- 移除或隐藏公开接口,使用RBAC(角色-based访问控制)。
-
通用安全实践:
- 更新PHP版本至最新(避免已知漏洞)。
- 启用WAF(如ModSecurity)过滤异常请求。
- 定期审计日志,监控空token或异常添加行为。
- 代码审查:检查
ajax.php中对$_POST['accesstoken']的处理逻辑,可能存在if(empty($token))的误用。
开发者可参考OWASP Top 10中的“Broken Access Control”指南进行修复。
结语
“温泉网络验证授权系统”的这些漏洞提醒我们,即使是看似简单的授权模块,也需严谨设计。安全不是事后补救,而是从需求阶段就嵌入。我已将此报告匿名提交给系统维护方,希望他们尽快响应。如果你在测试中遇到类似问题,欢迎在评论区分享经验。
免责声明:本文基于公开测试环境记录,纯属教育用途。渗透测试需获得授权。
如果有疑问,随时留言!下期见~ 🚀
参考:
- OWASP Cheat Sheet: Authentication
- HTTP请求模拟工具:Burp Suite / Postman






暂无评论内容