Статьи ⇒ XML ⇒ XML инъекция

XML инъекция

Опубликовано: 3 июл 2012 в 17:11
Автор: freeeeez  

XML-инъекция представляет собой метод нападения на веб-приложения, построенные на языке XML. Атака заключается в нарушении логики работы приложения с целью выполнения произвольных конструкций кода. Кроме того, XML-инъекция может быть применена для встраивания вредоносного содержимого.

В качестве примера рассмотрим следующий код:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<users> 
	<user> 
	       <uname>joepublic</uname> 
	       <pwd>r3g</pwd> 
	       <uid>0<uid/>
	       <mail>joepublic@example1.com</mail>
	</user> 
	<user> 
	       <uname>janedoe</uname> 
	       <pwd>an0n</pwd> 
	       <uid>500<uid/>
	       <mail>janedoe@example2.com</mail>
	</user> 
</users>

Если злоумышленник вставит следующие значения для нового пользователя:

Username: alice
Password: iluvbob
>E-mail: alice@example3.com</mail></user><user><uname>Hacker</uname><pwd>l33tist</pwd><uid>0</uid><mail>hacker@exmaple_evil.net</mail> 

то исходный XML-документ будет выглядеть так:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<users> 
	<user> 
	       <uname>joepublic</uname> 
	       <pwd>r3g</pwd> 
	       <uid>0</uid>
	       <mail>joepublic@example.com</mail>
	</user> 
	<user> 
	       <uname>janedoe</uname> 
	       <pwd>an0n</pwd> 
	       <uid>500</uid>
	       <mail>janedoe@example2.hmm</mail>
	</user> 
	<user> 
	       <uname>alice</uname> 
	       <pwd>iluvbob</pwd> 
	       <uid>500</uid>              
	       <mail>alice@exmaple3.com</mail></user><user><uname>Hacker</uname><pwd>l33tist</pwd><uid>0</uid>
                <mail>hacker@exmaple_evil.net</mail>
	</user> 
</users>

Отсюда видно, что пользователь Хакер вставляется в таблицу с идентификатором 0, а так как пользователь с таким ID уже зарегистрирован в большинстве XML-систем последняя запись заменяет предыдущую. Обычно пользователь с ID=0 – это администратор. Таким образом подобными манипуляциями можно изменить реквизиты административного аккаунта.

Другой пример реализации XML-инъекции на практике показывает возможность вставки вредоностного контента, посредством введения запрещенных символов:

<HTML>
<![CDATA[<IMG SRC=http://www.exmaple.com/logo.gif onmouseover=javascript:alert('Attack');>]]>
</HTML>
Тэги:  • 
Нет комментариев
7 305 просмотров


Оставить комментарий:

Имя:
Email:
Сайт:
Комментарий:

Допустимые теги: <em> • <strong> • <u> • <sub> • <sup> • <blockquote>

Проверочный код:

Введите проверочный код, для подтверждения, что вы не робот.
P.S. Если вы робот, то, к сожалению, вы
не сможете прочитать символы с картинки.