Выполнение произвольного кода PHP на bWAPP

Выполнение произвольно кода PHP bWAPP

Удаленное выполнение произвольного кода 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 — это тестовая страница, на которой выводится сообщение. Чтобы посмотреть, как это работает, нажмите на сообщение, после чего появится тестовое сообщение.

Выполнение кода PHP bWAPP. Страница инъекции PHP-кода
Страница инъекции PHP-кода

Шаг 2: Вы можете изменить стандартное сообщение, изменив URL так, чтобы оно содержало нужное вам сообщение. Для этого к URL добавьте message=ваше сообщение.

Редактирование стандартного сообщения путем изменения URL
Редактирование стандартного сообщения путем изменения URL

Шаг 3: С помощью PHP Code Injection можно также получить доступ к различной информации на сервере. Например, можно получить список каталогов, добавив точку с запятой ( ;) после test и используя команду system('dir'); в URL.

Аналогично, можно получить доступ к паролям, используя команду system('cat /etc/passwd');.

Выполнение кода PHP bWAPP. Получение списка каталогов
Получение списка каталогов

Шаг 4: Вы можете определить пользователя/группу, используя команду system('whoami'); в URL.

Выполнение кода PHP bWAPP. Определение пользователя / группы
Определение пользователя / группы

Очень важно обеспечить надлежащую проверку и санацию ввода, чтобы предотвратить уязвимости инъекций PHP-кода и защитить сервер от несанкционированного доступа или манипуляций.

ПОЛЕЗНЫЕ ССЫЛКИ:

QUASAR

Этичный хакер: компьютерный ниндзя и мастер цифровых тайн.

Добавить комментарий