Inicie a máquina, hackeie o sistema e encontre as flags escondidas para completar este desafio e ganhar XP!
O modo debug do Flask é uma funcionalidade de desenvolvimento que fornece páginas de erro interativas e recarregamento automático de código. Embora inestimável durante o desenvolvimento, deixar o modo debug ativado em produção é uma vulnerabilidade de segurança crítica que pode levar ao comprometimento completo do servidor. Entender os riscos da exposição do modo debug é essencial tanto para desenvolvedores web implantando aplicações Python quanto para profissionais de segurança que as testam.
Quando uma aplicação Flask executa em modo debug e encontra uma exceção não tratada, ela exibe uma página de erro detalhada chamada depurador Werkzeug. Esta página mostra o rastreamento completo da pilha com código-fonte para cada quadro, valores de variáveis locais em cada nível, e mais criticamente - um console Python interativo. Este console permite que qualquer pessoa que consiga provocar um erro execute código Python arbitrário no servidor, efetivamente concedendo execução remota de código.
Um atacante que descobre uma aplicação Flask executando em modo debug pode provocar erros enviando entrada malformada (como uma divisão por zero em uma calculadora, ou parâmetros inválidos). A página de debug resultante expõe o código-fonte da aplicação, variáveis de configuração (que podem conter credenciais de banco de dados, chaves de API e chaves secretas), e fornece um console interativo para executar comandos. Através deste console, um atacante pode ler e escrever arquivos, acessar variáveis de ambiente, executar comandos do sistema e pivotar para outros sistemas na rede.
Aplicações Flask nunca devem executar com debug=True em produção. Desenvolvedores devem usar configuração baseada em ambiente para garantir que o modo debug só esteja ativo em desenvolvimento. Implantações em produção devem usar servidores WSGI como Gunicorn ou uWSGI atrás de um proxy reverso como Nginx, com tratamento adequado de erros que retorna páginas de erro genéricas aos usuários. Segredos da aplicação devem ser armazenados em variáveis de ambiente, não no código-fonte. Varreduras de segurança regulares devem verificar interfaces de debug expostas e outras configurações incorretas comuns de aplicações web Python.
Crie uma conta gratuita e pratique cibersegurança.
Crie uma conta gratuita para iniciar seu próprio servidor dedicado, enviar flags e ganhar XP no ranking.
Começar a Hackear GrátisLabs que compartilham habilidades semelhantes
Escolha como deseja começar
Entre na sua conta