Дополнительные главы практической безопасности (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 и подставить её значение в объявление другой внешней сущности, чтобы это значение стало частью урла. Тогда, когда эта другая сущность будет резолвиться, на этот урл сделается запрос и как его часть пошлются и украденные данные. Если урл ведёт на наш сервер, мы их получим.