Дополнительные главы практической безопасности (2021)/XXE: различия между версиями

Материал из SecSem Wiki
Перейти к навигации Перейти к поиску
(Новая страница: «= Почему эксплуатация XXE out-of-band выглядит именно так =»)
 
Строка 1: Строка 1:
= Почему эксплуатация XXE out-of-band выглядит именно так =
+
== Почему эксплуатация XXE out-of-band выглядит именно так ==
 +
 
 +
Итак, нам нужно как то отправить себе значение сущности (украденные с помощью внешней сущности данные) в условиях когда сервер нам в ответ никакие данные не возвращает. Для этого можно использовать '''[https://www.w3.org/TR/xml/#dt-PE parameter entitiy]''' - сущность, значение которой можно подставлять в DTD, она тоже может быть внешней.
 +
Идея такая: считать данные в parameter entitity и подставить её значение в объявление другой внешней сущности, чтобы это значение стало частью урла. Тогда, когда эта другая сущность будет резолвиться, на этот урл сделается запрос и как его часть пошлются и украденные данные. Если урл ведёт на наш сервер, мы их получим.

Версия 21:00, 1 марта 2021

Почему эксплуатация XXE out-of-band выглядит именно так

Итак, нам нужно как то отправить себе значение сущности (украденные с помощью внешней сущности данные) в условиях когда сервер нам в ответ никакие данные не возвращает. Для этого можно использовать parameter entitiy - сущность, значение которой можно подставлять в DTD, она тоже может быть внешней. Идея такая: считать данные в parameter entitity и подставить её значение в объявление другой внешней сущности, чтобы это значение стало частью урла. Тогда, когда эта другая сущность будет резолвиться, на этот урл сделается запрос и как его часть пошлются и украденные данные. Если урл ведёт на наш сервер, мы их получим.