该应用程序演示了影响多个 Django 版本的 CVE-2025-64459。该漏洞已在 Django 的新版本中修复。
SQL 注入是指将用户提供的输入作为 SQL 查询的一部分处理,从而使攻击者能够改变查询的工作方式,并暴露或修改其本应无权访问的数据。
这是 Django QuerySets 和 Q 对象中的一个 SQL 注入漏洞,可能导致数据泄露。该漏洞的利用方式是将查询参数传递给 Django QuerySet,用户能够设置 _connector 和 _negated 键来执行任意 SQL 片段。
在本应用中,该漏洞位于主页 URL 路由上。访问 cve.hyperf.app/?_connector=OR 1=1 OR 会将 OR 1=1 OR 插入 SQL 查询,这意味着过滤器将匹配每条记录,所有结果都会被返回。在这种情况下,已归档或状态为 DRAFT 的帖子会被暴露。
[!NOTE]
db.sqlite3 和 .env 被有意地通过 git 跟踪,以便为漏洞利用设置数据库。
克隆仓库并使用 uv 同步依赖项。
uv sync
启动开发服务器。
uv run manage.py runserver