
aplicação de demonstração mostrando exploração de injeção SQL no django 5.2.7
Esta aplicação demonstra a CVE-2025-64459 que afeta múltiplas versões do Django. Esta vulnerabilidade foi corrigida em versões mais recentes do Django.
Injeção SQL ocorre quando a entrada fornecida pelo usuário é tratada como parte de uma consulta SQL, permitindo que um atacante altere o funcionamento da consulta e exponha ou modifique dados que não deveria ser capaz de acessar.
Esta é uma vulnerabilidade de injeção SQL em QuerySets do Django e objetos Q que pode resultar na exposição de dados. A exploração é resultado da passagem de parâmetros de consulta para um QuerySet do Django, onde o usuário consegue definir as chaves _connector e _negated para executar fragmentos SQL arbitrários.
Nesta aplicação, a exploração é feita na rota URL inicial. Visitar cve.hyperf.app/?_connector=OR 1=1 OR insere OR 1=1 OR na consulta SQL, o que faz com que o filtro corresponda a todos os registos e todos os resultados sejam devolvidos. Neste caso, publicações que estão arquivadas ou definidas para o estado DRAFT são expostas.
[!NOTE]
db.sqlite3 e .env são intencionalmente rastreados pelo git para configurar a base de dados para a exploração.
Clone o repositório e sincronize as dependências com uv.
uv sync
Inicie o servidor de desenvolvimento.
uv run manage.py runserver