Дополнительные главы практической безопасности (2021)/XXE: различия между версиями
Перейти к навигации
Перейти к поиску
Asterite (обсуждение | вклад) (Новая страница: «= Почему эксплуатация XXE out-of-band выглядит именно так =») |
Asterite (обсуждение | вклад) |
||
Строка 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 и подставить её значение в объявление другой внешней сущности, чтобы это значение стало частью урла. Тогда, когда эта другая сущность будет резолвиться, на этот урл сделается запрос и как его часть пошлются и украденные данные. Если урл ведёт на наш сервер, мы их получим.