Uma API de cache de notas constrói comandos Redis usando concatenação de strings, criando oportunidades para ataques de injeção CRLF. Quando a entrada do usuário encontra sanitização insuficiente, até mesmo o simples armazenamento de notas pode se tornar um caminho para injeção de comandos Redis e manipulação de sessões. Hora de testar suas habilidades de injeção de protocolo!
A injeção CRLF é uma vulnerabilidade de segurança web que ocorre quando um atacante pode injetar caracteres de retorno de carro (CR, ) e alimentação de linha (LF, ) na entrada da aplicação usada para construir comandos de protocolo. Quando essa vulnerabilidade existe em aplicações que interagem com Redis, ela se torna um vetor de ataque poderoso para envenenamento de cache, sequestro de sessão e escalação de privilégios através de injeção arbitrária de comandos Redis.
O Redis usa um protocolo baseado em texto chamado RESP (Redis Serialization Protocol) onde os comandos são separados por sequências CRLF. Quando uma aplicação constrói comandos Redis concatenando entrada do usuário sem sanitizar caracteres CRLF, um atacante pode terminar prematuramente o comando pretendido e injetar comandos Redis adicionais. Isso é semelhante em princípio à injeção SQL, mas tem como alvo o protocolo Redis ao invés de consultas SQL. Qualquer aplicação que constrói comandos Redis através de concatenação de strings ao invés de usar clientes parametrizados é potencialmente vulnerável.
O envenenamento de cache através de injeção de comandos Redis permite que atacantes escrevam pares chave-valor arbitrários no cache. Em aplicações que armazenam dados de sessão no Redis, isso pode levar ao sequestro de sessão ou escalação de privilégios. Ao injetar comandos como SET session:admin_token, um atacante pode criar ou sobrescrever dados de sessão para se passar por usuários privilegiados. Outros cenários de ataque incluem envenenar conteúdo HTML em cache para entregar scripts maliciosos, modificar configuração de aplicação armazenada no Redis ou usar comandos EVAL para executar scripts Lua no servidor Redis.
Vulnerabilidades de injeção CRLF afetando sistemas de cache foram encontradas em aplicações em produção em várias indústrias. As consequências variam de adulteração de dados a comprometimento completo da aplicação. A prevenção requer o uso de bibliotecas cliente Redis que lidam adequadamente com a parametrização de comandos, sanitização de toda entrada do usuário para caracteres CRLF antes de incorporá-los em comandos de protocolo e implementação de controles de acesso em instâncias Redis. Profissionais de segurança devem entender esses padrões de ataque para identificá-los eficazmente durante engajamentos de teste de penetração.
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