Django SQL注入漏洞复现 (CVE-2022-28347)
原文中文,约3200字,阅读约需8分钟。发表于: 。在Django 2.2 的 2.2.28 之前版本、3.2 的 3.2.13 之前版本和 4.0 的 4.0.4 之前版本中的 QuerySet.deexplain() 中发现了SQL注入问题。
在Django 2.2的2.2.28之前版本、3.2的3.2.13之前版本和4.0的4.0.4之前版本中的QuerySet.deexplain()存在SQL注入问题。攻击者可以通过传递精心编制的字典作为options参数来实现注入负载。漏洞影响的Django版本有2.2 <= Django < 2.2.28、3.2 <= Django < 3.2.13和4.0 <= Django < 4.0.4。修复方法是在执行语句之前对危险字符进行过滤,只有白名单内的字符串才会被拼接到语句中。