Взлом веб-приложений: уязвимости и атаки XXE

  • Автор темы Автор темы LeSh1y777
  • Дата начала Дата начала

LeSh1y777

Пользователь
Регистрация
25/9/25
Сообщения
5,682
Репутация
49
Лайки
152
Депозит
-8.95$
Добро пожаловать обратно, мои начинающие кибервоины веб-приложений!

К наиболее распространенным типам атак на веб-приложения относится атака XXE. Это атака типа «внедрение внешней сущности XML » . Этот тип уязвимости позволяет злоумышленнику помешать обработке XML - данных приложением. Многие приложения используют формат XML для передачи данных между браузером и сервером. Атака происходит, когда веб-приложение ссылается на данные во внешней сущности, используя XML для передачи данных.

Эта атака позволяет злоумышленнику получить доступ или просмотреть файлы в файловой системе внутреннего сервера или другие данные, к которым приложение может получить доступ.

Что такое XML?

XML расшифровывается как Extensible Markup Language (расширяемый язык разметки). XML — это язык разметки для описания структурированного формата документа. XML во многом похож на HTML, но его определение строже, что упрощает парсеры и повышает безопасность. XML разработан таким образом, чтобы быть понятным как человеку, так и машине, и используется в основном для передачи данных между приложениями.

6a4a49_a47cf869c07a4791aaf27fca96939f18~mv2.png


Давайте рассмотрим, как можно использовать атаку XXE для раскрытия конфиденциальных данных на сервере.

Шаг 1. Откройте Kali и OWASP-BWA.

Первый шаг — запустить Kali на одной виртуальной машине и OWASP-BWA на другой.

6a4a49_0ef49cabc1a24d5f96f0e417218c6a60~mv2.png


Теперь откройте браузер в Kali, перейдите по IP-адресу OWASP-BWA и нажмите на веб-приложение OWASP Mutillidae II.

6a4a49_afd5059026364597b99105fdfcd5e048~mv2.png


Перейдите на вкладку «Другие» слева, а затем « Внедрение внешней сущности XML» и «Валидатор XML», как показано ниже.

6a4a49_5e9447b3a3674296957379b9b55923c5~mv2.png


Это откроет XML-валидатор следующим образом.

6a4a49_d7ccd2b2e8b54914b2987497df043fd9~mv2.png


Шаг №2 : Добавьте XML в валидатор

Валидатор XML предназначен для проверки корректности формата вашего XML-документа. Если это так, валидатор отобразит его содержимое ниже. Вы можете ввести любой текст в окно XML и нажать кнопку «Проверить XML» под ним, чтобы проверить корректность формата вашего XML-документа.

6a4a49_e219f038938443f4a7e5828eb3d093e6~mv2.png


Здесь мы вводим простой XML с сообщением. Если он сформирован правильно, сообщение отображается под XML. В противном случае валидатор XML выведет сообщение об ошибке.

6a4a49_aa7b986c9c1141e0a59be7f57e7cd903~mv2.png
6a4a49_9a1023c0a2354e1fba636f3622ca3919~mv2.png


Давайте посмотрим, сможем ли мы манипулировать этой функциональностью, чтобы внедрить вредоносный XML для извлечения ресурсов на веб-сервере.

Шаг №3: Откройте BurpSuite и настройте прокси- сервер

Далее откроем BurpSuite и настроим прокси в нашем браузере.

6a4a49_cada042325ba44c5a946027e8dcc7f07~mv2.png


Теперь введите наш правильно сформированный XML и перехватите запрос в прокси, как показано ниже.

6a4a49_01179e72bdd4406fb604fd8db50ad0c2~mv2.png


Мы видим, где XML-анализатор преобразовал XML в URL.

Что, если бы мы могли отправлять вредоносные XML-запросы на файлы или другие ресурсы на сервере? Смогли бы мы получить конфиденциальные файлы, запросив их с помощью XML? Давайте попробуем.

Давайте создадим некоторый XML, который запрашивает файл /etc/passwd с веб-сервера, например:

<?xml версия="1.0″ "?>

<!Журнал изменений DOCTYPE [

<!ENTITY systemEntity SYSTEM “../../../../etc/passwd” >]>

<журнал изменений><текст>&systemEntity;

</text></change-log>

Теперь откройте вкладку «Декодер» в BurpSuite и введите этот XML, как показано ниже. Затем нажмите кнопку «Кодировать как …», и появится раскрывающееся меню.

6a4a49_4d4d396af413424bb27389ce416c3dd9~mv2.png


Поскольку мы хотим поместить этот XML в URL, выберите URL- кодировку

6a4a49_494dd6037bae4751a70d7f701f984466~mv2.png


Это закодирует (переведет) наш XML в форму, которую мы можем использовать в URL-адресе, который будет запрашивать ресурсы.

Шаг №4: Поместите закодированный XML в URL - адрес

Теперь вернитесь к прокси-серверу BurpSuite, скопируйте и вставьте закодированный XML-код в URL-адрес GET-запроса из браузера. Убедитесь, что он расположен точно там же, где и исходный XML, как показано ниже.

6a4a49_8809cf463d214c689fcb0e2dd1b65972~mv2.png


Теперь перешлите пакет в приложение Mutilldae II.

В приложении вы должны увидеть следующее: сначала отправленный XML, а затем содержимое файла /etc/passwd веб-сервера!

6a4a49_bd6b9d2b4c6c45138cce8ddffae426f9~mv2.png


XML запросил файл /etc/passwd, и парсер предоставил нам доступ. Конечно, это мог быть любой ресурс на веб-сервере.

Краткое содержание

Многие веб-приложения используют XML для передачи данных между браузером и сервером. Если злоумышленник сможет создать корректный XML и внедрить его в запрос, он сможет получить доступ к внешним данным на веб-сервере или других ресурсах.
 
Назад
Сверху Снизу