CVE-2018-25339Zechat 1.5版本中存在严重的SQL注入漏洞。由于应用程序未对用户输入的v参数进行严格的过滤与安全校验,未经身份验证的远程攻击者可利用该缺陷实施基于时间的盲注攻击。通过构造恶意的SQL语句,攻击者能够延时服务器响应以确认漏洞存在,并进一步窃取数据库中的敏感信息,导致数据泄露风险。
该漏洞属于典型的基于时间的盲注漏洞。漏洞根本原因在于Zechat 1.5在处理`v`参数时,直接将其拼接到SQL查询语句中而未进行任何转义或预处理。未经身份验证的攻击者可通过发送特制的HTTP请求,注入类似`' AND SLEEP(5)--`的恶意载荷。当数据库后端解析并执行该语句时,通过延时函数(如SLEEP)强制服务器挂起,攻击者根据HTTP响应时间的长短来判断注入语句是否被执行。利用过程通常涉及布尔逻辑判断:利用`IF((SUBSTRING((SELECT password FROM users),1,1))='a'), SLEEP(5), 0)`之类的语句,逐位猜解数据库表结构及敏感字段内容。虽然盲注效率较低,但在无交互、低权限的情况下,攻击者仍可完整拖库。