Desafio Segurança Web & API +50 XP

Redis Cache Poisoner

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!

65% resolvem 23 hackers jogaram 1 flag Atualizado em 06 de out. de 2026 First blood skalvin
CRLF InjectionRedis Command InjectionCache PoisoningProtocol ManipulationWeb Security
Comece Seu Desafio
  1. 1Crie uma conta grátis e clique em "Iniciar Lab"Você receberá sua própria máquina com um endereço IP
  2. 2Explore o alvoAbra o IP no seu navegador e procure vulnerabilidades
  3. 3Encontre e envie as flagsFlags são textos secretos escondidos no sistema - cole-os abaixo para pontuar
  • ~1-2 min de configuração
  • Instância privada
  • 30 min por sessão. Reinicie de graça, quantas vezes quiser.

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.

Entendendo a injeção CRLF no 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.

Técnicas de ataque de envenenamento de cache

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.

Impacto real e prevenção

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.

O que você vai aprender

  • Compreender como a injeção CRLF permite a injeção de comandos Redis
  • Aprender o protocolo RESP do Redis e como os comandos são estruturados
  • Praticar técnicas de envenenamento de cache para manipular dados de sessão
  • Estudar escalação de privilégios através de sequestro de sessão Redis
  • Reconhecer padrões de código vulneráveis envolvendo concatenação de strings em comandos de protocolo

Pré-requisitos

Compreensão básica de aplicações web e HTTP Familiaridade com conceitos de caching Conhecimento básico de Redis ou key-value stores