Офіс в Україні: +38 (063) 50 74 707

Офіс у США: +1 (212) 203-8264

Ручне тестування

Забезпечте найвищу якість вашого програмного забезпечення за допомогою наших послуг ручного тестування.

Мобільне тестування

Оптимізуйте свої мобільні додатки для бездоганної роботи на всіх пристроях і платформах за допомогою наших комплексних послуг з мобільного тестування.

Автоматизоване тестування

Покращуйте свою розробку програмного забезпечення за допомогою наших послуг автоматизованого тестування, розроблених для підвищення ефективності.

Функціональне тестування

Вдосконалюйте основний функціонал вашого додатку за допомогою наших послуг з функціонального тестування

ПЕРЕГЛЯНУТИ ВСІ ПОСЛУГИ

Головна » Зовнішня сутність XML

Зовнішня сутність XML

Зовнішня сутність XML (XXE) - це тип уразливості, що виникає, коли парсер XML неправильно налаштований і дозволяє посилатися на зовнішні сутності в XML-документах. Це може дозволити зловмиснику маніпулювати XML-даними, які обробляються програмою, для виконання несанкціонованих дій, таких як доступ до конфіденційних файлів, проведення атак типу “відмова в обслуговуванні” (DoS) або запуск інших видів зловмисної поведінки.

Тестування на наявність XXE уразливостей:

  1. Перевірка тестових даних: Під час тестування спробуйте ввести вхідні дані у форматі XML, що містять посилання на зовнішні об’єкти, наприклад, <!ENTITY xxe SYSTEM "file:///etc/passwd">. Поспостерігайте, чи правильно програма обробляє ці посилання і чи запобігає доступу до несанкціонованих ресурсів.
  2. Тест на розкриття файлів: Перевірте, чи може програма розкривати конфіденційні файли (наприклад, /etc/passwd, /proc/self/environ або інші конфігураційні файли) за допомогою зовнішніх об’єктів у вхідних даних XML.
  3. Тест на відмову в обслуговуванні: Перевірте відмовостійкість програми, надсилаючи XML-документи, які змушують парсер завантажувати великі файли або запускати нескінченну рекурсію. Це допомагає визначити, чи вразливий додаток до DoS-атак через XXE.
  4. Тест на SSRF: Перевірте, чи дозволяє додаток зовнішнім суб’єктам робити запити до внутрішніх сервісів. Це можна зробити, ввівши XML-дані, які вказують на внутрішні ресурси, наприклад, http://localhost:8080/internal-service.
  5. Нечітке тестування: Використовуйте інструменти нечіткого тестування для створення широкого спектру шкідливих XML-документів, щоб перевірити їх на наявність XXE-уразливостей та інших вразливостей, пов’язаних з XML. Це допомагає гарантувати, що програма безпечно обробляє граничні випадки.

Усунення уразливостей зовнішніх об’єктів XML (XXE):

  • Вимкніть обробку зовнішніх сутностей: Найефективнішим способом усунення XXE уразливостей є вимкнення здатності аналізатора XML обробляти зовнішні об’єкти. Це можна зробити, налаштувавши парсер XML на ігнорування зовнішніх сутностей і DTD (Document Type Definitions - визначення типу документа).
  • Використовуйте безпечні парсери XML: Переконайтеся, що парсер XML, який використовується в додатку, налаштований на запобігання XXE-атакам. Багато сучасних парсерів XML, наприклад, ті, що використовуються в Java (наприклад, javax.xml.parsers.DocumentBuilderFactory), пропонують опції конфігурації для вимкнення зовнішньої обробки сутностей.
  • Перевірка вхідних даних: Належним чином перевіряйте та знезаражуйте всі вхідні дані користувача, включно з XML-документами, щоб унеможливити потрапляння до програми зловмисних XML-об’єктів.
  • Використання альтернативних форматів даних: Розгляньте можливість використання форматів даних, відмінних від XML, таких як JSON, які не підтримують зовнішні сутності і менш схильні до цього типу атак.
  • Обробка помилок: Впровадьте належну обробку помилок та ведення журналу для виявлення незвичної поведінки або підозрілих вхідних даних у форматі XML. Це може допомогти у виявленні спроб використання XXE-уразливостей.

Related Terms