Удаленное выполнение произвольного кода PHP или Remote Code Execution (RCE), — это уязвимость в системе безопасности, которая позволяет злоумышленнику выполнить произвольный код или команды на сервере, работающем под управлением PHP. Уязвимость возникает, когда вводимые пользователем данные некорректно санируются или проверяются перед использованием в функциях PHP, выполняющих код, таких как функция eval(). Уязвимость позволяет злоумышленнику вставить и выполнить свой PHP-код на сервере. Это может привести к несанкционированному доступу или полному контролю над системой.
Еще по теме: Взлом веб-сервера на PHP
Выполнение произвольного кода PHP на bWAPP
Чтобы получить практическое представление о выполнении произвольного PHP-кода, рассмотрим пример с одним GET-параметром в bWAPP.
Статья в образовательных целях для обучения багхантеров. Баг Баунти — это программа, которую владелец сайта (web-приложения) проводит для привлечения сторонних специалистов к поиску уязвимостей. При участии в программе Bug Bounty нужно действовать этично и придерживаться установленных правил.
Далее описывается пошаговый процесс эксплуатации уязвимости инъекции PHP-кода в уязвимом приложении bWAPP (см. Установка bWAPP на Windows).
Шаг 1: Страница PHP Code Injection — это тестовая страница, на которой выводится сообщение. Чтобы посмотреть, как это работает, нажмите на сообщение, после чего появится тестовое сообщение.
Шаг 2: Вы можете изменить стандартное сообщение, изменив URL так, чтобы оно содержало нужное вам сообщение. Для этого к URL добавьте message=ваше сообщение.
Шаг 3: С помощью PHP Code Injection можно также получить доступ к различной информации на сервере. Например, можно получить список каталогов, добавив точку с запятой ( ;) после test и используя команду system('dir'); в URL.
Аналогично, можно получить доступ к паролям, используя команду system('cat /etc/passwd');.
Шаг 4: Вы можете определить пользователя/группу, используя команду system('whoami'); в URL.
Очень важно обеспечить надлежащую проверку и санацию ввода, чтобы предотвратить уязвимости инъекций PHP-кода и защитить сервер от несанкционированного доступа или манипуляций.
ПОЛЕЗНЫЕ ССЫЛКИ:
- Эксплуатация уязвимости IDOR на bWAPP
- Взлом сайта на PHP с помощью уязвимости XXE
- Использование WeBaCoo для создания бэкдора PHP