Використання XXE уразливостей для атак на інші сайти

22:45 19.06.2013

В статті Використання XML External Entities (XXE) для атак на інші сайти я вже розповідав про XXE уразливості, що можуть використовуватися для атак на інші сайти. І зараз я продовжу тему використання XXE уразливостей для DoS і DDoS атак.

В класифікації уразливостей WASC TC v2.0 є такий клас як XML External Entities (XXE) (WASC-43). Який ще називають XXE Injection.

Окрім використання даних уразливостей для читання вмісту локальних файлів, їх можна використати для з’єднання з зовнішніми серверами. Тобто можна робити запити до інших веб сайтів і через дані уразливості можна проводити CSRF і DoS атаки на інші сайти.

Атака відбувається через тег ENTITY. Якщо в ньому вказати зовнішній ресурс - “http://site/page”, то відбудеться запит до сторінки зовнішнього сайта. Що можна використати для атак на зовнішні сайти, як я писав в попередній статті.

<?xml version="1.0"?>
<!DOCTYPE foo [
  <!ELEMENT methodName ANY>
  <!ENTITY xxe SYSTEM "http://site/page" >]>
<methodCall>
  <methodName>&xxe;</methodName>
</methodCall>

XXE Injection уразливості були виявлені в багатьох продуктах. Окрім раніше згаданих продуктів, наведу нові програми з XXE уразливостями:

  • libraptor - уразливість в бібліотеці, що використовується багатьма програмами, зокрема офісними пакетами. Аналогічно її можуть використовувати й веб додатки (зокрема Ruby підтримує бібліотеку libraptor), які будуть вразливі для даних атак.
  • Advanced XML Reader - плагін для WordPress.
  • PHP 5.3 і 5.4 - дана уразливість була виправлена PHP 5.3.23 та PHP 5.4.13. В попередніх версіях PHP, веб додатки, що працюють з SOAP WSDL-файлами, можуть використовуватися для даних атак.
  • WordPress 3.5 і 3.5.1 - окрім плагінів для WP, XXE уразливість також є в самому движку.
  • Sybase EAServer - вразливі 6.3.1 та попередні весії.
  • Spring Framework - вразливі додатки, що використовують даний framework.

Для автоматизації атак на інші сайти можна використати такий інструмент як DDoS attacks via other sites execution tool (DAVOSET). Abuse of Functionality дірки передбачали відправлення як GET, так і POST запитів. DAVOSET був розроблений для GET запитів.

XXE Injection атака передбачає відправлення спеціального XML-запиту методом POST. Тому інструмент для проведення атак на інші сайти через XXE уразливості повинен підтримувати POST метод. І його підтримку я планую додати в DAVOSET.


Одна відповідь на “Використання XXE уразливостей для атак на інші сайти”

  1. MustLive каже:

    You can read this article on English in The Web Security Mailing List: Using XXE vulnerabilities for attacks on other sites.

Leave a Reply

You must be logged in to post a comment.