RCE - Drupal CMS
В этом статье вы узнаете, как проверить лазейки в системе безопасности Drupal CMS на предмет любой критической уязвимости, которая может нанести большой ущерб любому веб-сайту.
Удаленное выполнение кода
- RCE - это уязвимость, которая возникает из-за небезопасной обработки входных данных серверным приложением или может использоваться, если команды вводятся в файле или строке и выполняется синтаксическим анализатором языка программирования. Не очищается должным образом в запросе POST, а также при принятии параметра строки запроса во время запросов GET.
RCE может привести к полной компрометации уязвимого веб-приложения, а также веб-сервера.
Начнём.
Для доступа к пользовательской консоли я использовал следующие данные:
Username: ra
Password: 123
Получив доступ к консоли администратора, пришло время использовать веб-приложение, внедряя в него вредоносный контент. Непосредственное написание вредоносных сценариев в виде веб-содержимого не даст нам обратной оболочки приложения, для этого требуется модуль PHP. Поэтому мы переходим к установке нового модуля через:
« Управление»> «Расширить»> «Список»> «Установить новый модуль».
Это может сработать, если у Drupal есть права на установку модулей на web-сервер, или этого шага можно избежать если модуль уже установлен. В целом, такой вектор на практике встречается очень редко.
Вы можете скачать пакет PHP для Drupal здесь и загрузить файл tar для установки нового модуля.
Итак, когда установка будет завершена, нам нужно включить добавленный модуль.
Снова перейдите в « Управление»> «Расширить»> «Фильтры» и установите флажок для фильтров PHP.
В качестве метода получения соединения, можно использовать любой подходящий PHP shell. Не забудьте добавить «listening IP & port», чтобы получить обратное соединение.
Когда все настроено соответствующим образом, нажмите кнопку предварительного просмотра, и вы получите reverse shell через netcat.
Reverse shell в действии, как итог: