Crypto
Crypto pentest / CTF, “AES’i kırmak”tan çok yanlış mod, zayıf anahtar/IV, kötü RNG ve encoding’in şifreleme sanılmasını hedefler. Bu bölüm pratik kavramları Türkçe özetler; JWT detayı için JWT Saldırıları sayfasına bakın.
Bağlam
Section titled “Bağlam”Girdi: ciphertext, token, protokol blob, custom “encrypt” fonksiyonuHedef: plaintext, anahtar, oracle, alg confusionAraçlar: CyberChef, hashcat, padbuster/padding oracle scriptleri, opensslÖnce encoding mi crypto mu ayır; sonra mod (ECB/CBC/GCM), anahtar yönetimi ve oracle yüzeyini soruştur.
Metodoloji
Section titled “Metodoloji”-
Sınıflandır — base64/hex/url mı, yoksa gerçek cipher mı?
-
Mod & yapı — blok tekrarı (ECB), IV boyutu, auth tag (GCM).
-
Oracle / hata — padding, MAC fail, JSON error mesajları.
-
Anahtar / RNG — sabit IV, timestamp seed, hard-coded key.
-
Uygulama köprüsü — JWT, cookie, lisans anahtarı, protokol.
Tipik yüzey
Section titled “Tipik yüzey”| Bulgu | İpucu |
|---|---|
| ECB | Aynı plaintext bloğu → aynı ciphertext; görüntü/pattern sızıntısı |
| Padding oracle | CBC + ayırt edilebilir hata / timing |
| Zayıf RNG | srand(time), düşük entropi token |
| Alg confusion | JWT RS256→HS256; bkz. /web/jwt-attacks/ |
| Encoding ≠ crypto | base64 “şifre” sandığı geliştirici |
Bölümler
Section titled “Bölümler”- Klasik Saldırılar — ECB, padding oracle, zayıf RNG, JWT köprüsü
- Encoding vs Crypto — base64/hex ile şifreleme farkı, CTF tuzakları
İlgili: JWT Saldırıları, Web, Password Attacks.
Tipik zincir
Section titled “Tipik zincir”Cookie “encrypted” → aslında base64(json) → claim manipülasyonu → yetki yükseltmeCBC API + farklı 500 mesajları → padding oracle → plaintext