CVE-2021-47954LayerBB 1.1.4版本被发现存在严重的SQL注入安全漏洞。该漏洞源于应用程序在处理用户搜索请求时,未能对输入参数进行严格的过滤和验证。未经身份认证的远程攻击者可以通过向/search.php端点发送精心构造的POST请求,在search_query参数中注入恶意SQL代码。利用此漏洞,攻击者能够操纵后端数据库查询,通过布尔盲注技术(如CASE WHEN语句)窃取数据库中的敏感信息,对系统安全构成严重威胁。
该漏洞的核心在于LayerBB 1.1.4版本在实现搜索功能时,对用户提交的`search_query`参数缺乏有效的安全过滤,导致其可直接拼接到后端SQL查询语句中。这是一个典型的SQL盲注漏洞。攻击者无需进行任何身份认证即可发起攻击。利用过程中,攻击者向`/search.php`发送POST请求,并在参数中嵌入恶意SQL片段。由于应用未对错误信息进行详细回显,攻击者通常采用基于布尔或时间的盲注技术。通过构造`CASE WHEN (子查询) THEN true_value ELSE false_value END`这样的逻辑判断语句,攻击者可以根据HTTP响应的差异(如页面内容是否包含特定文本,或响应时间是否增加)来逐字节推断数据库中的敏感数据,包括管理员凭据、用户数据表结构等。这种攻击方式隐蔽性高,且无需复杂的交互即可导致数据泄露。