
Composer é uma ferramenta de gerenciamento de pacotes PHP. Usar o Composer para instalar pacotes criará uma pasta vendor no diretório atual e colocará todos os arquivos nela. Normalmente, esse diretório deve ser colocado fora do diretório web para que os usuários não possam acessá-lo diretamente.
O PHPUnit é uma ferramenta de teste unitário para PHP. Nas versões 4.8.19 ~ 4.8.27 e 5.0.10 ~ 5.6.2, o arquivo vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php contém o seguinte código:
eval('?>'.file_get_contents('php://input'));
Se este arquivo for acessado diretamente por um usuário, resultará em uma vulnerabilidade de execução remota de código.
Link de referência: http://phpunit.vulnbusters.com
Execute os seguintes comandos para iniciar um ambiente PHP, onde o PHPUnit está instalado no diretório web.
docker-compose build
docker-compose up -d
O ambiente web será iniciado em http://your-ip:8080.
Basta enviar o código PHP como corpo POST para http://your-ip:8080/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php:
