CVE-2018-25202SAT CFDI 3.3 版本存在严重的 SQL 注入安全漏洞。该漏洞源于应用程序的 signIn 接口未能正确处理用户提交的 'id' 参数,导致攻击者能够操纵后端数据库查询。攻击者无需用户交互或身份认证,即可利用此漏洞执行布尔盲注、堆叠查询或时间盲注攻击,从而窃取敏感数据、破坏数据完整性,严重威胁应用系统的安全性。
该漏洞属于经典的 SQL 注入漏洞,发生在 SAT CFDI 3.3 的登录处理逻辑中。当应用程序接收到发送至 'signIn' 端点的 POST 请求时,它会直接将请求参数 'id' 的值拼接到 SQL 查询语句中,而未使用参数化查询或预编译语句进行安全处理。由于缺乏有效的输入清洗机制,攻击者可以在 'id' 参数中注入恶意的 SQL 代码片段。利用方式主要包括三种:首先是布尔盲注,攻击者通过构造返回真或假的条件语句,根据应用响应的差异逐位推断数据;其次是堆叠查询,允许在单次请求中执行多条 SQL 语句,可能直接导致数据修改;最后是基于时间的盲注,通过引入延时函数(如 SLEEP),根据数据库响应时间判断注入条件是否成立。由于攻击无需认证且通过网络传播,该漏洞极易被自动化工具利用,导致大规模数据泄露。