Дополнительные главы практической безопасности (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 и подставить её значение в объявление другой внешней сущности, чтобы это значение стало частью урла. Тогда, когда эта другая сущность будет резолвиться, на этот урл сделается запрос и как его часть пошлются и украденные данные. Если урл ведёт на наш сервер, мы их получим. |
Версия от 20:00, 1 марта 2021
Почему эксплуатация XXE out-of-band выглядит именно так
Итак, нам нужно как то отправить себе значение сущности (украденные с помощью внешней сущности данные) в условиях когда сервер нам в ответ никакие данные не возвращает. Для этого можно использовать parameter entitiy - сущность, значение которой можно подставлять в DTD, она тоже может быть внешней. Идея такая: считать данные в parameter entitity и подставить её значение в объявление другой внешней сущности, чтобы это значение стало частью урла. Тогда, когда эта другая сущность будет резолвиться, на этот урл сделается запрос и как его часть пошлются и украденные данные. Если урл ведёт на наш сервер, мы их получим.