Приветствую! Сегодня в статье разберём как реализовать RCE-уязвимость в функции PHP Assert(). Приступим! Для начала долго и внимательно осмотримся на хосте. Прокликаем все кнопки, посмотрим URL при переходе на каждую страницу и т.д. Нам нужно всё! Любая информация может сильно помочь в поиске уязвимостей. Обратите внимание, что при переходе на страницу в URL появляется параметр page, где указано имя выбранной страницы. Раз уж пошла такая пляска, то чекнем сразу Path Traversal: При внедрении /../../../etc/passwd нам выдадут интересную ошибку. И тут я задумался... С такими мыслями о Traversal меня ласково послали куда подальше. В таком случае применим тулзу whatweb для выявления версии сервисов. Это нам дало раскрытие версии PHP, Apache и фреймворка JQuery. Поресёрчив инет, я нашёл интересный способ реализации RCE функции PHP Assert(), которую мы видели в ответе сервера. Пробуем провернуть всё как в статье: И это срабатывает! Мы видим список файлов локальной директории. Теперь посмот