
Composer — это менеджер пакетов для PHP. При установке пакета с помощью Composer в текущем каталоге создаётся папка vendor, в которую помещаются все файлы. Обычно этот каталог должен располагаться вне веб-каталога, чтобы пользователи не могли получить к нему прямой доступ.
phpunit — это инструмент модульного тестирования для PHP. В версиях 4.8.19 ~ 4.8.27 и 5.0.10 ~ 5.6.2 файл vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php содержит следующий код:
eval('?>'.file_get_contents('php://input'));
Если пользователь получит прямой доступ к этому файлу, возникнет уязвимость удалённого выполнения кода.
Ссылка для справки: http://phpunit.vulnbusters.com
Выполните следующие команды, чтобы запустить среду PHP, в которой phpunit установлен в веб-каталоге.
docker-compose build
docker-compose up -d
Веб-среда будет запущена по адресу http://your-ip:8080.
Просто отправьте PHP-код в теле POST-запроса на адрес http://your-ip:8080/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php:
