
MD2PDF CTF
Giriş
Ladies and gentlemen, welcome to my CTF write-up.Bugün sizlerle HTML injection kullandığımız bence akan bir oda yani.Böyle aldımı rahatlıkla götürüyo.Şimdi odayı çözelim.
Not:
Eğer sen de bu CTF'i çözmek istersen, buraya tıklayabilirsin.
Keşif
İşe açık portları tarayarak başlıyoruz.

22,80,5000 portları açık
Bir web sitemiz var ve 5000 portu var.Ssh ı şimdilik elimde yeterli veri olmadığı için şuanlık bir kenarda tutuyorum.5000 portundaki upnp servisi otomatik port yönlendirmeye yarar.Ve muhtemelen oradada bir web servisi var.

5000 ve 80 portundaki web servisleri
5000 portundaki programda bir sorun var çalışmıyor ancak 80 portundaki sitede çalışıyor.Şimdi burada dikkatimizi çekmesi gereken bir kaç nokta var:Kullanıcı için input kısmı verilmiş belki RCE yada html injection deneyebiliriz
Burada MD2PDF aslında rastgele bir isim değil MarkDown to Pdf .Markodwnu pdf e çeviren bir sistem.

Mantık böyle işliyor.
Burası kafa karıştırıcı belki biraz ancak en sonda wkhtmltopdf adındaki render motoru komutu alıyor ve işleme sokuyor.Bu sayede html injeciton başarılı oluyor.
Test ettiğimiz zaman html kodunu render ederek çalıştırıyor.
Örneğin;

Eğer sende denemek istersen :
<body style="background-color:black; margin:0;"><h1 style="color:#00ff41; font-family:monospace; margin:0;">MuendisBey</h1></body>
Komutunu deneyebilirsin.
Burayı hallettiğimize göre bir bilgilendirme yapayım.Makinenin 5000 portuna gobuster yaptığımda admin subdomaini buldum ve dışarıdan erişilemiyor.Taşlar yerine oturdu.Demekki o input aslında admin sayfasındaki gizli bişey için varmış.O zaman mantık belli oldu.
target_ip:5000/admin e istek atmak için bir html dilinde kod yazıcaz ve bize büyük ihtimalle flagi döndürücek.
iframe ile admin panelini çağırma
<iframe src="http://localhost:5000/admin" width="800" height="600"></iframe>
Sonra zaten flag pdf açtığında karşına çıkmış olucak
Hadi sağlıcakla kal güzel insan👋