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

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

Итак, продолжаем эксплуатировать уязвимости и рассмотрим ту же уязвимость, а именно HTML Injection — Reflected (POST), но уже на уровне medium.

Выбираем в интерфейсе нашу уязвимость и security level ставим medium:

Выбираем в интерфейсе нашу уязвимость и security level ставим medium

Имейте ввиду, что мы уже настроили браузер и BurpSuite для работы. Для того, чтобы настроить все эти компоненты, нужно посмотреть предыдущий урок, так как повторяться не вижу смысла на самом деле. Итак, повторяем шаги, которые мы делали в предыдущем уроке. В поле first name я прописываю слово «Mikhail», а в поле last name слово «Timcore»:

В поле first name я прописываю слово «Mikhail», а в поле last name слово «Timcore»

Напомню, что в Burp Suite должен быть активен Intercept — это кнопка «Intercept is on».

Жмем кнопку «Go» и переходим в BurpSuite. Видим ту же картину:

После ввода в два поля, жмем кнопку «Go» и переходим в BurpSuite. Видим ту же картину

Поменяем значения firstname и lastname на код, который использовали в предыдущем уроке. Он имеет вид:

firstname=<h1><a href=»http://www.google.com«>Push me Mikhail</a></h1>&lastname=<h2>Timcore</h2>&form=submit

firstname=<h1><a href="http://www.google.com">Push me Mikhail</a></h1>&lastname=<h2>Timcore</h2>&form=submit

Жмем кнопку «Forward» и переходим в браузер:

и нам не удалось с помощью этого метода проэксплуатировать уязвимость. Наш запрос корректно обработался.

Это неудача и нам не удалось с помощью этого метода проэксплуатировать уязвимость. Наш запрос корректно обработался.

Что же делать? На ум приходит мысль создания payload из этих двух блоков. Давайте этим и займемся. По-новой в полях first name и last name вводим предыдущие значения: «Mikhail» и «Timcore». Снова вводим код:

firstname=<h1><a href=»http://www.google.com«>Push me Mikhail</a></h1>&lastname=<h2>Timcore</h2>&form=submit

firstname=<h1><a href="http://www.google.com">Push me Mikhail</a></h1>&lastname=<h2>Timcore</h2>&form=submit

Копируем первую часть нашего кода с тегом «h1», и «a». Он выглядит так:

<h1><a href=»http://www.google.com«>Push me Mikhail</a></h1>:

Копируем первую часть нашего кода с тегом «h1», и «a». Он выглядит так:  <h1><a href="http://www.google.com">Push me Mikhail</a></h1>

Идем на вкладку Decoder и вставляем наш код в поле, затем справа нажимаем кнопку «Encode as», далее выбираем «URL», и получаем строку:

Идем на вкладку Decoder и вставляем наш код в поле, затем справа нажимаем кнопку «Encode as», далее выбираем «URL», и получаем строку

Получилась строка такого вида:

%3c%68%31%3e%3c%61%20%68%72%65%66%3d%22%68%74%74%70%3a%2f%2f%77%77%77%2e%67%6f%6f%67%6c%65%2e%63%6f%6d%22%3e%50%75%73%68%20%6d%65%20%4d%69%6b%68%61%69%6c%3c%2f%61%3e%3c%2f%68%31%3e

Копируем полученный payload и я предлагаю открыть какой-нибудь текстовый редактор, чтобы не запутаться. Открываем к примеру leafpad и вставляем строку:

Копируем полученный payload и я предлагаю открыть какой-нибудь текстовый редактор, чтобы не запутаться. Открываем к примеру leafpad и вставляем строку

Идем на вкладку «Proxy» и копируем второй блок кода с тегом «h2». Он выглядит так:

<h2>Timcore</h2>

<h2>Timcore</h2>

Переходим в Decoder и вставляем скопированный код в верхнее поле. Он автоматически преобразуется, но для надежности еще раз жмем кнопку «Encode as» и выбираем «URL»:

Переходим в Decoder и вставляем скопированный код в верхнее поле. Он автоматически преобразуется, но для надежности еще раз жмем кнопку «Encode as» и выбираем «URL»

Копируем полученный результат и вставляем второй строкой в leafpad:

Копируем полученный результат и вставляем второй строкой в leafpad

В том же leafpad копируем первую строку и переходим в BurpSuite на вкладку «Proxy» в поле «Raw» находим наш код и заменяем первый блок firstname на payload:

В том же leafpad копируем первую строку и переходим в BurpSuite на вкладку «Proxy» в поле «Raw» находим наш код и заменяем первый блок firstname на payload

Такую же операцию проводим и со вторым блоком, скопировав вторую строку из leafpad и вставив ее в блок кода с lastname:

Такую же операцию проводим и со вторым блоком, скопировав вторую строку из leafpad и вставив ее в блок кода с lastname

Жмем кнопку «Forward» и переходим в браузер:

Жмем кнопку «Forward» и переходим в браузер

Как видим, нас постигла опять неудача. Но не стоит отчаиваться. Я предлагаю кодировать URL дважды, а именно каждый уже кодированный блок.

Снова вводим те же значения в третий раз, в поле firstname и lastname: «Mikhail» и «Timcore».

Переходим в leafpad, и хорошо, что мы записали все в блокнот. Копируем первую кодированную строку и идем на вкладку «Decoder», вставив ее во второе поле, и нажав на кнопку «Encode as», выбрав «URL»:

Копируем первую кодированную строку и идем на вкладку «Decoder», вставив ее во второе поле, и нажав на кнопку «Encode as», выбрав «URL»

Копируем дважды кодированную запись и вставляем ее в блокнот. Не известно, как мы будем двигаться дальше. По ситуации, а данные эти пригодятся:

Копируем дважды кодированную запись и вставляем ее в блокнот. Не известно, как мы будем двигаться дальше. По ситуации, а данные эти пригодятся

Копируем из блокнота вторую кодированную строку и проделываем те же шаги, что и с первой. Идем на вкладку «Decoder», вставляем строку во второе поле и жмем кнопку «Encode as», выбрав «URL»:

Копируем из блокнота вторую кодированную строку и проделываем те же шаги, что и с первой.

Копируем дважды кодированную запись и идем в leafpad. Вставляем скопированное в блокнот и копируем третью запись из него:

Копируем дважды кодированную запись и идем в leafpad. Вставляем скопированное в блокнот и копируем третью запись из него

Идем в BurpSuite на вкладку «Proxy», далее «Intercept» и поле «Raw». Вставляем в первый блок first наш payload:

Идем в BurpSuite на вкладку «Proxy», далее «Intercept» и поле «Raw». Вставляем в первый блок first наш payload

Снова идем в leafpad и копируем четвертую строку:

Снова идем в leafpad и копируем четвертую строку

Переходим в BurpSuite на ту же вкладку, что и с предыдущим копированием. Это «Proxy», далее «Intercept», поле «Raw». Нас интересует второй блок lastname. Вставляем в него наш payload:

Переходим в BurpSuite на ту же вкладку, что и с предыдущим копированием.

Жмем кнопку «Forward» и переходим в браузер:

нас ждет кликабельная ссылка с редиректом на google, а также простая запись с тегом «h2»

И нас ждет кликабельная ссылка с редиректом на google, а также простая запись с тегом «h2». Мы успешно проэксплуатировали данную уязвимость на средних настройках безопасности.

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

#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).