馃槑
WEB
YouTubeTwitterLinkedIn
  • La Biblia del Hacking en Web
    • ADVERTENCIA
    • Conoce a tu academia
    • Conoce a tu instructor
    • Aprende Hacking Web con los laboratorios de PortSwigger
  • SQL Injection
    • 驴SQL Injection?
    • Lab 1: SQL injection vulnerability in WHERE clause allowing retrieval of hidden data
    • Lab 2: SQL injection vulnerability allowing login bypass
    • Lab 3: SQL injection attack, querying the database type and version on Oracle
    • Lab 4: SQL injection attack, querying the database type and version on MySQL and Microsoft
    • Lab 5: SQL injection attack, listing the database contents on non-Oracle databases
    • Lab 6: SQL injection attack, listing the database contents on Oracle
  • Cross Site Scripting
    • 驴XSS?
    • Lab 1: Reflected XSS into HTML context with nothing encoded
    • Lab 2: Stored XSS into HTML context with nothing encoded
    • Lab 3: DOM XSS in document.write sink using source location.search
    • Lab 4: DOM XSS in innerHTML sink using source location.search
    • Lab 5: DOM XSS in jQuery anchor href attribute sink using location.search source
  • ClickJacking
    • 驴Clickjacking?
    • Lab 1: Basic clickjacking with CSRF token protection
  • Access control vulnerabilities
    • 驴Control de Acceso?
    • Lab 1: Unprotected admin functionality
    • Lab 3: User role controlled by request parameter
  • Path traversal
    • 驴Path Traversal?
    • Lab 1: File path traversal, simple case
    • Lab 2: File path traversal, traversal sequences blocked with absolute path bypass
    • Lab 3: File path traversal, traversal sequences stripped non-recursively
  • XML external entity (XXE) injection
    • 驴XML external entity?
    • Lab 1: Exploiting XXE using external entities to retrieve files
    • Lab 2: Exploiting XXE to perform SSRF attacks
    • Lab 3: Blind XXE with out-of-band interaction
  • JWT
    • 驴JWT?
    • Lab 1: JWT authentication bypass via unverified signature
    • Lab 2: JWT authentication bypass via flawed signature verification
    • Lab 3: JWT authentication bypass via weak signing key
    • Lab 4: JWT authentication bypass via jwk header injection
    • Lab 5: JWT authentication bypass via jku header injection
  • Server-side request forgery (SSRF)
    • 驴SSRF?
    • Lab 1: Basic SSRF against the local server
  • OS command injection
    • 驴OS Command Injection?
    • Lab 1: OS command injection, simple case
  • Authentication
    • 驴Authentication?
    • Lab 1: Username enumeration via different responses
  • HTTP request smuggling
    • 驴HTTP request smuggling?
    • Lab 1: HTTP request smuggling, confirming a CL.TE vulnerability via differential responses
  • Server-side template injection
    • 驴Server-side template injection?
    • Lab 1: Basic server-side template injection
  • DOM-based vulnerabilities
    • Lab 1: DOM XSS using web messages
    • Lab 2: DOM XSS using web messages and a JavaScript URL
  • WebSockets
    • Lab #1: Manipulating WebSocket messages to exploit vulnerabilities
  • Prototype pollution
    • 驴Prototype Pollution?
    • Lab 1: Client-side prototype pollution via browser APIs
      • Utilizando DOM Invader
    • Lab 2: DOM XSS via client-side prototype pollution
    • Lab 3: DOM XSS via an alternative prototype pollution vector
      • Utilizando DOM Invader
    • Lab 4: Client-side prototype pollution via flawed sanitization
    • Lab 5: Client-side prototype pollution in third-party libraries
    • Lab 6: Privilege escalation via server-side prototype pollution
    • Lab 7: Detecting server-side prototype pollution without polluted property reflection
    • Lab 8: Bypassing flawed input filters for server-side prototype pollution
    • Lab 9: Remote code execution via server-side prototype pollution
    • Lab 10: Exfiltrating sensitive data via server-side prototype pollution
  • GraphQL
    • Lab 1: Accessing private GraphQL posts
  • Web cache poisoning
    • Lab 1: Web cache poisoning with an unkeyed header
  • CORS
    • Lab #2 - CORS vulnerability with trusted null origin
    • Lab 3: CORS vulnerability with trusted insecure protocols
  • API testing
    • Lab #1: Exploiting an API endpoint using documentation
    • Lab #2: Exploiting server-side parameter pollution in a query string
    • Lab #3: Finding and exploiting an unused API endpoint
    • Lab #4: Exploiting a mass assignment vulnerability
    • Lab #5: Exploiting server-side parameter pollution in a REST URL
Con tecnolog铆a de GitBook
En esta p谩gina
  • 驴Qu茅 es la Inyecci贸n de Entidades Externas XML (XXE)?
  • 驴C贸mo Funciona la Inyecci贸n de Entidades Externas XML?
  • Ejemplo de un Documento XML Vulnerable
  • Tipos de Ataques XXE
  • Lectura de Archivos Locales
  • Scanning de Red
  • Ejecuci贸n de C贸digo Remoto

驴Te fue 煤til?

  1. XML external entity (XXE) injection

驴XML external entity?

驴Qu茅 es la Inyecci贸n de Entidades Externas XML (XXE)?

La inyecci贸n de entidades externas XML (XXE) es una vulnerabilidad que se produce cuando una aplicaci贸n procesa entradas XML que incluyen referencias a entidades externas. Un atacante puede explotar esta vulnerabilidad para leer archivos locales, realizar escaneos internos de red, y en algunos casos, ejecutar c贸digo remoto o causar una denegaci贸n de servicio. XXE es una vulnerabilidad cr铆tica porque puede permitir acceso no autorizado a informaci贸n sensible y potencialmente comprometer toda la infraestructura.

驴C贸mo Funciona la Inyecci贸n de Entidades Externas XML?

XXE se basa en la capacidad de los parsers XML para definir entidades externas, que son esencialmente referencias a recursos externos. Un atacante puede inyectar entidades maliciosas en un documento XML que la aplicaci贸n procesa, lo que puede llevar a una serie de ataques dependiendo de c贸mo se manejen las entidades externas.

Ejemplo de un Documento XML Vulnerable

Un documento XML est谩ndar podr铆a verse as铆:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [
    <!ENTITY test "Hello, world!">
]>
<root>&test;</root>

Si el parser XML de la aplicaci贸n permite la definici贸n y expansi贸n de entidades externas, un atacante podr铆a manipular el documento XML para incluir una entidad que apunta a un archivo local:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [
    <!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<root>&xxe;</root>

Cuando el parser procesa este XML, intentar谩 expandir la entidad &xxe; y leer谩 el contenido del archivo /etc/passwd, exponiendo as铆 informaci贸n sensible.

Tipos de Ataques XXE

Lectura de Archivos Locales

Los atacantes pueden usar XXE para leer archivos locales en el servidor. Al definir una entidad externa que apunta a un archivo del sistema, pueden obtener acceso a datos confidenciales.

<!ENTITY xxe SYSTEM "file:///etc/passwd">

Scanning de Red

XXE puede utilizarse para realizar un escaneo interno de la red. Mediante la definici贸n de entidades externas que apuntan a diferentes IPs y puertos, un atacante puede descubrir servicios y sistemas internos.

<!ENTITY xxe SYSTEM "http://192.168.1.1:8080">

Ejecuci贸n de C贸digo Remoto

En casos extremos, XXE puede permitir la ejecuci贸n de c贸digo remoto si el parser XML se combina con otras vulnerabilidades presentes en el sistema.

AnteriorLab 3: File path traversal, traversal sequences stripped non-recursivelySiguienteLab 1: Exploiting XXE using external entities to retrieve files

脷ltima actualizaci贸n hace 11 meses

驴Te fue 煤til?