CyberSec Notes
  • Bienvenida
    • CyberSec Notes
  • Network Services
    • Port 21 - FTP
    • Port 22 - SSH
    • Port 23 - Telnet
    • Port 25 - SMTP
    • Port 53 - DNS
      • Deploy DNS Server with BIND
    • Port 80/443 - HTTP/HTTPS
      • Wordpress
      • CMS Made Simple (CMSMS)
    • Port 88 - Kerberos
    • Port 386, 636, 3268, 3269 - LDAP
    • Port 445 - SMB
    • Port 1521,1522-1529 - Oracle TNS Listener
    • Port 3128 - Squid
    • Port 5985, 5986 - WinRM
  • Command && Control
    • Sliver C2 [in progress]
  • Ataques en Entornos Windows
    • MalDev
      • AV Evasion
        • Function call obfuscation
      • Code Samples
        • Shellcode Execution C#
        • Shellcode Execution C++
        • Stager HTTP C#
        • Stager HTTP C++
        • Process Inyection C++
        • Process Inyection C#
        • XOR Encrypt C++
    • Directorio Activo
      • Spriying
      • Autenticacion Net-NTLMv2 y tipos de hashes
        • Pass the Hash
        • SMB Relay
      • Autenticación Kerberos
        • Extensiones del protocolo Kerberos (SPNs & PACs)
        • AS_REP Roasting
        • Kerberoasting
        • Silver Ticket Attack
        • Golden Ticket Attack
      • DCSync
      • Mimikatz
      • BloodHound
      • Privilege Escalation
        • PS Credentials in XML format
      • Utils
    • Amsi Bypass
    • Buffer Overflow
      • Stack Based 32 bits [in progress]
        • Windows SLMail 5.5
  • Ataques en Entornos Linux
    • Privilege escalation [in progress]
    • MalDev
      • Simple Reverse Shell
    • Buffer Over Flow
      • Stack Based 32 bits
        • Linux, Vulnerable functions in C programs
    • Persistencia
  • General
    • Host Discovery
    • Reverse Shells Cheet Sheet
    • Pivoting
      • Chisel
      • Port Forwarding
      • Nmap con pivoting
    • Google Dorks [in progress]
    • Denial of Service (DoS)
      • Low and Slow
    • Docker
  • Pentesting Web
    • XML External Entity Injection(XXE)
      • Portswigger Lab #1: Retrieve Files
      • Portswigger Lab #2: Perform SSRF
      • Portswigger Lab #6: Blind XXE to retrieve data via error messages
    • Open Redirect
    • LFI
      • Log Poisoning (Apache, SSH y SMPT)
  • Wireless Pentesting
    • Pre Connection Attacks
      • WEP
      • WPA/WPA2
    • Post Connection Attacks
      • ARP Spoof
    • Fake AP for Captive Portal
Powered by GitBook
On this page
  1. Pentesting Web
  2. XML External Entity Injection(XXE)

Portswigger Lab #6: Blind XXE to retrieve data via error messages

PreviousPortswigger Lab #2: Perform SSRFNextOpen Redirect

Last updated 1 year ago

En este laboratorio se nos proporciona un exploit server en el cual vamo a poder tener un archivo el cual nosotros vamos a decidir que poner dentro. Lo primero es probar que pasa si cargamos una entidad externa apuntando a nuestro server:

Obtenemos un error. Ahora mirando los logs en nuestro server vemos que se le hizo una request:

Como vemos que si formulamos mal alguna solicitud nos devuelve un error podremos cargar una entidad externa que apunte a nuestro exploit server, en el cual vamos a definir el archivo que vamos a incluir, e incluirlo en otra entidad externa. Como se muestra en la response vamos a ver el contenido del archivo.

Exploit server:

La primera entidad que estamos cargando es la que se nos pide para resolver el lab, que es el archivo /etc/passwd.

La segunda línea es una entidad dentro de otra entidad, en la que en la entidad eval se carga la segundad entidad exfil, que es una entidad externa y se apunta a un archivo dentro de la máquina que no existe (por lo tanto este error se va a mostrar en la response ya que el servidor nos muestra errores), y como queremos motrar el archivo /etc/password se lo concatenamos. Entonces resumiendo como este archivo no existe y generará un error, y ya que el server nos muestra los errores en la response de lo que hayamos puesto mal en el documento XML nos mostrará el contenido del archivo.

Request && Response:

Aclaraciones

Al usar una entidad paramétrica dentro de otra entidad (paramétrica también) si anteponemos el % en la entidad exfil, eso no funcionará debido hay que especificarlo en hexadecimal, por eso se pone el &#x25, el 25 en hexadecimal representa el %. Por lo que anteponiendo el &#x representamos valores hexadecimales.

También cuando llamamos a una entidad dentro del DTD anteponemos % y no &, como en el primer laboratorio.