Конкурс ESI Injection [перевод DEFCON26]

g00db0y

g00db0y

Red Team
11.06.2018
94
391
Доброго времени суток! Сегодня я хочу презентовать непопулярную инъекцию как ESII (Edge Side Include Injection)

Данную атаку можно реализовать тегом в HTML <esi> (Edge Side Includes). Так же, это новый вид атаки на некоторые кэш-серверы.


ТЕОРИЯ
Что же такое ESI, и как его используют?


Взгляните на простенькую веб-страницу:

photo_2018-11-03_23-07-27.jpg


На данной странице, есть 2 типа элементов:


image_2018-11-03_20-42-24.png


То есть, теги ESI используются для указания обратного прокси (или кэш-сервера) для получения дополнительной информации о веб-странице, для которой шаблон уже кэширован.

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

image_2018-11-03_22-22-26.png


Пример:

image_2018-11-03_22-34-51.png
------------>
image_2018-11-03_22-35-23.png


По этому, мы можем экплуатировать это вот так:

<esi:vars>$(VARIABLE_NAME)</esi:vars>


И таким образом мы можем узнать любую информацию:


$(HTTP_USER_AGENT)------->Mozilla/5,0 (X11;[…]
$(QUERY_STRING)--------------->city=Moscow&fromat=…
$(HTTP_COOKIE)----------------->_ga=[…]&_ulma=[...]


Пример:

image_2018-11-03_22-41-37.png


Стоит заметить, что иногда, что-то может блокироваться, как например HTTP_COOKIE{PHPSSSSID}, по этому стоит искать другие варианты:

image_2018-11-03_22-46-14.png



ПРАКТИКА
Пример использования ESII (Edge Side Include Injection)


Отправляем «фотографию»:

image_2018-11-03_22-51-58.png


Фотография прогружается у жертвы, и мы получаем куки

image_2018-11-03_22-54-48.png


Вставляем в любой редактор куки:

image_2018-11-03_22-56-33.png


И захватываем сессию

image_2018-11-03_22-57-56.png


СТОИТ ЗАМЕТИТЬ!
К сожалению, мы таким образом можем захватывать только HTTPOnly cookie


Возоможна так же атака с использованием JS:

Но для этого, js файл должен находиться на сервере, что не всегда удобно.

image_2018-11-03_23-21-34.png

jquery.js имеет следующее содержание:
image_2018-11-03_23-21-50.png

Получаем куки:
image_2018-11-03_23-22-52.png

И в итоге получаем ссылку с сессией
image_2018-11-03_23-23-09.png


ЗАЩИТА

На данный момент ESII распознают такие инструменты:


Burp ActiveScan++

Вся информация была взята с сайта компании .
И с , где выступал официальный представитель этой же компании. К видео прилагаются файлы с самого выступления -


П.С. Во время перевода нашел интересную по поводу этой иньеции
 
UziUser

UziUser

Member
10.07.2016
15
4
ну это уже более менее тянет к теме конкурса, похвальная тема, имхо..
по сравнению с предыдущими, что я комментировал, на эту статью моя душа легла почти сразу.
 
  • Нравится
Реакции: g00db0y
Мы в соцсетях: