• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Статья bWaPP #1 HTMl Injection — Reflected (GET) сложность (medium). Боль, слезы и этичный хакинг.

Доброго дня! Я уже написал статью по open source проекту bWaPP, его установке и настройке. Ну а теперь давайте начнем набивать опыт и развивать знания в прохождении различных задачек в bWapp.

Процесс его установки и настройки описан тут: 👉 bWaPP 0 👈

Начнем с уязвимости HTMl Injection — Reflected (GET) уровень (medium)

Screenshot_1.jpg


Не могу не начать статью с шутки. Конечно, не такой древней как HTMl Injection, но что поделаешь - если заниматься некрофилией, так с юмором. А иначе для чего, дорогой коллега, ты читаешь мою статью?

Пришла пора поговорить про HTMl Injection! Для простоты понимания я буду объяснять в простой и шуточной форме.
Поскольку цикл данных статей предназначается для маленьких и неопытных, буду продолжать рассказывать детально. Для того, чтобы понять, как работает HTML-инъекция, для начала нужно понимать, что собой представляет HTML.

Цитирую Википедию
HTML (от англ. HyperText Markup Language — «язык гипертекстовой разметки») — стандартизированный язык гипертекстовой разметки документов для просмотра веб-страниц в браузере. Веб-браузеры получают HTML документ от сервера по протоколам HTTP/HTTPS или открывают с локального диска, далее интерпретируют код в интерфейс, который будет отображаться на экране монитора.


А что же такое HTML-инъекция?
Цель инъекционной атаки во внедрении HTML-кода через уязвимые части веб-сайта.
Исследователь отправляет HTML-код через любое уязвимое место в коде для изменения его дизайна или любой отображаемой информации.
Результат, как известно, налицо. Если точнее, пользователь увидит измененные исследователем данные на веб-сайте. Если кратко и простым языком, HTML-инъекция - это просто инъекция кода языка разметки\тегов в документ страницы.

Что же отправляется веб-сайту для его изменения?!
Разные HTML-теги, которые будут просто отображать отправленную информацию. А также поддельная форма или целая страница.
Не стоит надеяться на проверку - браузер не заметит разницы в подмене или изменении HTML-кода. Он отобразит измененный сайт как ликвидный без каких-либо вопросов.

Основные виды HTML Injection:
  • Stored HTML Injection
  • Reflected HTML Injection
Что такое Reflected (GET) и Reflected (POST)?!
  • GET - это запрос
  • POST - отправка.
То есть, атака HTML Injection выполняется по-разному, в зависимости от метода GET и POST. Повторюсь, с помощью метода POST данные отправляются, а с помощью метода GET - запрашиваются.

Но рассматривать и разбирать сейчас будем Reflected (GET).
Атака Reflected GET сработает, если наш введенный код\тег отразиться на веб-сайте.
В bwapp-задачке у нас есть простая страница с формой ввода данных, которая уязвима для этой атаки. Если мы введем любой HTML-код в качестве параметра, он появится на нашем веб-сайте и в то же время будет вставлен в HTML-документ.

Вводим в поле first name — <h1>Codeby</h1>, а в поле last name — <h2>net</h2>

1663249416969.jpeg


1663249494925.jpeg


Результат

1663249624330.jpeg


Что же дальше нам требуется? Идем в burp. Для удобства его использования предлагаю поставить в браузер плагин . Этому меня научил .

После идем в burp. Если не знаете, как им пользоваться, держите видео.
Внимание! Дальнейшие действия выполняются с активированным Burp Suite.

1663249775698.jpeg


Если все настроено корректно, будет отображаться во вкладке ProxyIntercept введенные ранее «firstname» и «lastname».

1663249837252.jpeg


Продолжим. Нажимаем Action Send to Repeater или горячие клавиши Ctrl+R:

1663249911555.jpeg


Далее переходим на вкладку Repeater
Наша цель: изменить слова "Codeby, Net" на теги для эксплуатации уязвимости:

1663250206325.jpeg


В поле Request во вкладке Raw нужно будет прописать код с тегом, после записи GET-запроса lastname.
Напишем следующий код: <a href=codeby>codeby.net</a>

1663250615538.jpeg


Жмем «Send», а результат нашего творчества можем увидеть в соседнем окне

Внимание! Увага! Аttention! Achtung!
Если у вас burp выдал подобный результат в правом окне (выделил красным), это не нормально. Он не отработал отправку, как это требуется. Для устранения данной ошибки попробуйте перезапустить Burp. Возможно, он у вас запущен не с правами root, ну или просто отвалился - такое частенько бывает.

1663250682121.jpeg


Если все правильно сделано, результат будет такой:

1663251045860.jpeg


Нам требуется найти результат нашего творчества. В окне Response нужно найти результат выполнения кода. Пишем в поиске слово, которое писали. У меня это codeby, и мы нашли его как обычный текст, а он должен там выглядеть по-другому - быть ссылкой. Продолжим работать дальше с данной уязвимостью.

1663251267061.jpeg


Нужно скопировать ссылку, которую писали ранее в поле Request <a href=codeby>codeby.net</a>
С помощью встроенного инструмента декодера преобразуем ее. Если быть точным, зашифруем в url. Если вы не поняли, про что я говорю, вот как это будет выглядеть в виде простого примера:

<a href=codeby>codeby.net</a> + encode as URL = (длинная кракозябра)

В burp переходим на вкладку decoder и шифруем наш тег:

1663251799861.jpeg


Возможно, вы не догадываетесь, что делать дальше с этой длинной кракозяброй, а я незамедлительно скажу: скопируйте ее и переходите во вкладку Repeater и вставляйте вместо <a href=codeby>codeby.net</a> в поле Request.

Для понимания, данный код - это зашифрованный тег <a href=codeby>codeby.net</a> в формат URL.

Это должно выглядеть вот так:

1663251926735.jpeg


Повторно ищем слово «codeby» и находим его. Но этого нам мало.

1663252003991.jpeg


Следовательно, требуется больше шифрования! Нужно больше шифрования богу криптографии!
Повторим процедуру в burp. Переходим на вкладку decoder и шифруем нашу кракозябру еще раз. На будущее: лучше сразу ее сохраните в какой-нибудь блокнот, чтобы не потерять.

1663252076958.jpeg


Далее полученную кракозябру вставляем туда, где ранее была <a href=codeby>codeby.net</a> и его зашифрованная версия. Ну а теперь пора вставить более полную версию.

1663252148676.jpeg


В поиске ищем наше стоп-слово. Прошу не путать с «флюгегехаймен», это из другой пьесы. И, о, чудо! О, Мадонна! О, единороги! У нас появилась рабочая ссылка, которая в коде отображается следующим образом: <a href=codeby>codeby.net</a>. В HTML «a href» работает как . Получается, мы добились того, что нам требовалось.

1663253005226.jpeg


В правом окне Response, нажав правую клавишу мыши, появляется список опций. Выбираем опцию «Show response in browser» и копируем полученную ссылку:

1663253095658.jpeg


1663253263100.jpeg


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

18.jpg



На этом все, уважаемые коллеги! В следующей статье перейдем к разбору другой, не менее интересной задаче и ее прохождению!

До скорой встречи!
Великий и ужасный Сергей Сталь
Редактор: Александра Калюжная
 
Последнее редактирование модератором:

N1GGA

Codeby Team
Platinum
16.07.2018
326
332
BIT
197
Посмотри на . Там очень много интересных челленджей по вебу.
 
  • Нравится
Реакции: Сергей Сталь
02.03.2021
550
398
BIT
218
Посмотри на . Там очень много интересных челленджей по вебу.
я пока тренируюсь на кошках(пчелах). Когда полностью его изучу и пойму как работают разные инструменты. Перейду на root-me, HTB, THM ну и вишенкой на торте будет xvwa.
 
  • Нравится
Реакции: Skandal

tehhen

One Level
09.09.2022
2
1
BIT
0
Привет, такой вопрос, Burp нужно ставить в virtualbox же?)
 
02.03.2021
550
398
BIT
218
Привет, такой вопрос, Burp нужно ставить в virtualbox же?)
Ты можешь поставить burp(возможно уже есть)в самой виртуалке bWapp. Либо качать ее со сборником инструментов.
Но, поскольку данная сборка очень кривая. Я развернул рядом 2 виртуальные машины bwapp и kali. Открываю веб интерфейс bWapp в kali linux и там работаю с Burp. Туда же поставил дополнение к браузеру.
Под bWapp много ресурсов выделять не нужно, под Kali вполне хватает 2гб
 

Вложения

  • Screenshot_2.jpg
    Screenshot_2.jpg
    73,4 КБ · Просмотры: 96

tehhen

One Level
09.09.2022
2
1
BIT
0
Ты можешь поставить burp(возможно уже есть)в самой виртуалке bWapp. Либо качать ее со сборником инструментов.
Но, поскольку данная сборка очень кривая. Я развернул рядом 2 виртуальные машины bwapp и kali. Открываю веб интерфейс bWapp в kali linux и там работаю с Burp. Туда же поставил дополнение к браузеру.
Под bWapp много ресурсов выделять не нужно, под Kali вполне хватает 2гб
в bwapp не качается, так только с этим сайтом, хз почему.
1663330289349.png
 
  • Нравится
Реакции: Дядюшка Рик
02.03.2021
550
398
BIT
218
в bwapp не качается, так только с этим сайтом, хз почему.
Посмотреть вложение 63242
можешь пробовать ставить на данную систему, вот на сайт burp.
А можешь поставить kali с удобным для тебя интерфейсом, там есть выбор при установке и работать.
Как тебе удобнее так и поступай
 
12.12.2021
21
4
BIT
31
Нравится подход к написанию, читается весело))
"И, о, чудо! О, Мадонна! О, единороги!" :D
Давай посложнее!
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!