Tag: Docker

  • Estudando Application Security com o OWASP Juice Shop na AWS

    Estudando Application Security com o OWASP Juice Shop na AWS

    Quem estuda segurança de aplicações precisa de um lugar para praticar sem atacar o sistema de ninguém. Neste post de apoio ao vídeo, mostro como subir o OWASP Juice Shop em uma instância EC2 com Docker e usá-lo como laboratório de Application Security.

    O que é o OWASP Juice Shop

    O Juice Shop é uma loja virtual propositalmente vulnerável, mantida pela fundação OWASP. Ela é escrita em Node.js e roda em contêiner. A aplicação reúne dezenas de desafios que cobrem o OWASP Top 10 e muito mais, como:

    • Broken Access Control: acessar dados ou funções de outro usuário.
    • Injection: o clássico SQL injection, que continua aparecendo em aplicações reais.
    • Cross-Site Scripting (XSS).
    • Falhas de autenticação, de criptografia e de configuração.

    Cada desafio resolvido aparece no placar (Score Board) da própria aplicação, o que transforma o estudo em um jogo com progresso visível. A página do projeto também tem um guia completo de instruções.

    O Juice Shop é a mesma aplicação que uso como alvo no laboratório de WAF: Como configurar o AWS WAF.

    Recursos AWS utilizados

    RecursoPapel no laboratório
    Amazon EC2 (Ubuntu)Máquina que roda o contêiner do Juice Shop
    VPC padrão e IP públicoAcesso à aplicação pelo navegador, sem montar rede
    Security GroupLibera a porta 3000, que é a porta do Juice Shop
    DockerBaixa e executa a imagem oficial do Juice Shop

    Existe também uma imagem do Juice Shop no AWS Marketplace, mas no vídeo subo tudo manualmente. Assim você entende cada peça, e o processo é simples.

    Passo a passo resumido

    1. Criar a instância EC2

    • AMI Ubuntu, tipo pequeno (elegível ao nível gratuito, se for o seu caso).
    • VPC padrão, com IP público habilitado, para acessar pelo navegador sem precisar de NAT ou VPN.
    • Security Group: entrada TCP 3000 para acessar a aplicação, e SSH (22) para administrar.

    2. Instalar o Docker

    Conecte na instância e rode:

    sudo apt update && sudo apt upgrade -y
    sudo apt install -y docker.io
    sudo systemctl enable --now docker
    docker --version

    3. Subir o Juice Shop

    sudo docker pull bkimminich/juice-shop
    sudo docker run -d --name juice-shop -p 3000:3000 bkimminich/juice-shop

    Acesse http://IP-PUBLICO-DA-INSTANCIA:3000 no navegador e a loja já estará funcionando.

    Cuidados importantes com o laboratório

    Lembre-se de que você está publicando uma aplicação vulnerável de propósito. Alguns cuidados evitam que o laboratório vire um problema:

    • Restrinja o Security Group ao seu IP (opção My IP no console), tanto na porta 3000 quanto na 22. Nunca deixe aberto para 0.0.0.0/0 por mais tempo do que o necessário.
    • Use uma conta AWS só para laboratório, separada de qualquer ambiente com dados reais.
    • Não reutilize senhas nem chaves de outros ambientes na instância.
    • Desligue ou apague a instância quando terminar. Além do risco, a EC2 e o IP público geram custo enquanto existirem.
    • Ataque apenas a sua própria instância. Testar sistemas de terceiros sem autorização é crime.

    Próximos passos de estudo

    1. Abra o Score Board e comece pelos desafios de uma estrela.
    2. Use um proxy de interceptação, como o OWASP ZAP ou o Burp Suite Community, para ver e modificar as requisições.
    3. Para cada vulnerabilidade explorada, estude como corrigi-la no código. É aí que o conhecimento vira AppSec de verdade.
    4. Depois, coloque um AWS WAF na frente da aplicação e veja quais ataques ele bloqueia e quais passam: Como configurar o AWS WAF.
    5. Leve o aprendizado para o pipeline com práticas de DevSecOps: Como começar com DevSecOps.

    Material de apoio

    Você já usa o Juice Shop nos seus estudos? Conta nos comentários qual desafio deu mais trabalho.

Visão geral de privacidade

Este site usa cookies para que possamos oferecer a melhor experiência de usuário possível. As informações dos cookies são armazenadas em seu navegador e executam funções como reconhecê-lo quando você retorna ao nosso site e ajudar nossa equipe a entender quais seções do site você considera mais interessantes e úteis.