CVE-2016-20028CVE-2016-20028是ZKTeco公司ZKBioSecurity 3.0版本中存在的一个跨站请求伪造(Cross-Site Request Forgery, CSRF)安全漏洞。该漏洞允许远程攻击者通过诱使已登录的管理员用户访问恶意网页,在不知情的情况下执行未授权的管理操作。攻击者可以构造特制的HTTP请求,利用管理员已经建立的会话信任关系,在系统中添加超级管理员账户,从而获得对系统的完全控制权。由于漏洞存在于身份验证机制中,攻击者无需获取任何有效凭据,仅需依赖已登录用户的浏览器会话即可发起攻击。此漏洞的危险性在于其利用的隐蔽性,普通用户难以察觉其账户已被恶意添加,攻击者可以在系统中长期潜伏并维持持久化访问权限。
ZKBioSecurity 3.0的管理后台在处理敏感管理操作时缺少有效的CSRF令牌验证机制。攻击者可以构造包含添加超级管理员账户功能的HTML表单,当已登录的管理员访问该恶意页面时,浏览器会自动发送带有有效会话Cookie的请求到目标服务器。服务器端未能正确验证请求的来源合法性(如Referer头或自定义Token),导致攻击者可以绕过身份验证直接执行管理操作。具体来说,攻击者可以利用如下请求格式添加新账户:POST请求到管理接口,参数中包含账户用户名、密码及权限级别,且请求中缺少Anti-CSRF Token。由于Web应用信任来自已认证用户的请求,恶意操作得以成功执行。攻击者通常将此恶意代码嵌入到钓鱼邮件或恶意网站的iframe中,以提高攻击成功率。