CVE-2015-20120CVE-2015-20120是Next Click Ventures公司开发的RealtyScript 4.0.2版本中存在的高危安全漏洞。该漏洞属于基于时间的盲注SQL注入(Time-based Blind SQL Injection)类型,存在于应用的多个参数中,包括search、quick_search和contact等。攻击者无需任何认证凭证即可利用此漏洞,通过在应用参数中注入恶意的SQL代码,利用时间延迟函数(如SLEEP())使数据库执行等待操作,从而根据响应时间的差异来推断数据库内容。由于响应内容本身不直接返回数据,攻击者需要通过构造条件判断语句,结合时间延迟函数,逐字符地猜测和提取数据库中的敏感信息,包括用户名、密码哈希、数据库名称等。此漏洞影响CVSS评分达到8.2分,属于高危级别,对系统的机密性构成严重威胁。
该漏洞的核心原理是利用MySQL的SLEEP()时间延迟函数结合条件判断语句,实现基于时间的盲注攻击。攻击者构造的恶意请求会在SQL查询中注入类似'SLEEP(5)'的函数调用,如果条件为真,数据库将执行延迟操作,服务器响应时间会明显增加;反之则立即返回。攻击者通过观察响应时间的差异来推断条件判断的真假,从而逐步提取数据。典型的注入payload格式为:' AND SLEEP(5)--。更精确的数据提取需要结合SUBSTRING()、ASCII()等函数,例如通过ASCII(SUBSTRING((SELECT user()),1,1))=78这样的条件判断,逐字符地猜测数据库用户名或其他敏感信息。受影响的参数包括但不限于search、quick_search和contact参数,这些参数直接拼接到SQL查询中而未进行充分的输入过滤或参数化查询处理。攻击者利用此漏洞可以提取整个数据库的敏感信息,包括管理员凭据等。