Şifre Tanımlayıcı
Bir CTF bulmacasında, bir log dosyasında veya eski bir belgede şüpheli bir dize buldunuz ve bunun Base64 mi, hex mi, ikili mi, Mors kodu mu yoksa başka bir şey mi olduğunu söyleyemiyor musunuz? Metni yapıştırın; tanımlayıcı karakter kümesi ve yapı kontrolleri yaparak en olası kodlamaları ve şifreleri sıralar. Özel kod çözücülere geçmeden önce iyi bir ilk adımdır.
Şifre tanımlayıcı nasıl çalışır
-
1
Şifreli metni yapıştırın
Herhangi bir uzunlukta. Çok kısa dizeler (< 20 karakter) daha zayıf sinyaller verir; daha uzun metin daha güçlü sınıflandırmaya imkân tanır.
-
2
Karakter kümesi analizi
Harf, rakam ve sembol dağılımı adayları daraltır (tamamen hex, tamamen base64 alfabesi, tamamen büyük harfli Latin, vb.).
-
3
İmza eşleştirme
Uzunluk kuralları (çift hex, 4'lük base64 blokları, hash'ler için 32/40/64 karakterlik hex), ayırıcılar (JWT için noktalar, Mors için nokta ve çizgiler) ve bilinen önekler (eyJ, $2b$) bilinen imzalarla karşılaştırılır.
-
4
Sıralı tahminler
Eşleşen tüm adaylar güvene göre sıralanır ve yüzde olarak gösterilir, böylece hangi kod çözücüyü önce deneyeceğinizi bilirsiniz.
Tespit sezgileri
| İpucu | Olası şifre / kodlama |
|---|---|
Yalnızca A-Z a-z 0-9 + / =, uzunluk 4’ün katı |
Base64 |
Yalnızca 0-9 a-f, çift uzunluk |
Hex |
Yalnızca 0-1, 8 veya daha fazla basamak |
İkili (Binary) |
| Yalnızca nokta, çizgi, eğik çizgi ve boşluk | Mors kodu |
| Yalnızca büyük harfli Latin, 5+ harf | Caesar veya ikame şifresi |
| 20+ Latin harfi, boşluksuz | Monoalfabetik şifre |
| Büyük ve küçük harfli Latin | Düz metin, muhtemelen şifre değil |
Noktalarla ayrılmış üç bölüm, eyJ ile başlar |
JWT belirteci |
$2a$, $2b$ veya $2y$ ile başlar |
bcrypt hash |
| Tam olarak 32 hex karakter | MD5 hash |
| Tam olarak 40 hex karakter | SHA-1 hash |
| Tam olarak 64 hex karakter | SHA-256 hash |
Karakterlerin ötesindeki ipuçları
- Base64: 4’lük bloklar, sonda
=dolgusu,+ve/içerir. - Caesar veya ikame: büyük harfli Latin, rakamsız. Frekanslar düz metninkilerle aynı, yalnızca kaydırılmış.
- Mors: yalnızca nokta, çizgi, eğik çizgi ve boşluk.
- JWT: noktalarla ayrılmış üç bölüm, genellikle
eyJile başlar. - Hash’ler (MD5/SHA): sabit uzunlukta hex (MD5 için 32 karakter, SHA-1 için 40, SHA-256 için 64). Geri çevrilemez, tanımlayıcı bunu işaretler ki “kod çözmeye” çalışmayasınız.
- İkili: 0 ve 1’den oluşan uzun diziler, genellikle sekizerli gruplar halinde.
Otomatik tanımlamanın sınırları
- Kısa girdiler (<10 karakter): güven her açıdan düşüktür. Her şey olabilir.
- Tek seferlik pad ile özel XOR: anahtar olmadan rastgeleden ayırt edilemez. Tanımlayıcı hiçbir eşleşme döndürmez.
- Birden çok katman: Yaygın bir CTF hilesi Base64 → ters çevirme → Caesar → hex’tir. Tek seferde bir katman soyun.
- İngilizce olmayan kaynak dili: Latin harf kontrolleri geçerli olmaya devam eder, ancak “düz metin” yalnızca bir tahmindir; tanımlayıcı dil tespiti yapmaz.
Güven skorlaması
Her aday, imzasının ne kadar spesifik olduğuna bağlı sabit bir güven taşır. %80 üzeri: muhtemel. %50-80: makul. %50 altı: uzak ihtimal. Birden fazla eşleşme genellikle kısa girdi ya da melez şifre anlamına gelir.
Sık Sorulan Sorular
Her şifre tanımlama tekniği istatistiksel düzenliliklere dayanır ve istatistiklerin güvenilir olması için yeterli veriye ihtiyacı vardır. 20 karakterin altında birçok şifre aynı görünür; 50+ karakter sağlam sinyaller verir.
Yalnızca en olası şemayı önerir. Kod çözme işlemi özel kod çözücü araçlarında gerçekleşir ve bazı kod çözmeler için sizin sağlamanız gereken bir anahtar gerekir.
Önce karakter kümesini kontrol edin (hangi harf/sembollerin göründüğü), sonra uzunluk ve yapı. Hâlâ belirsizse, yaygın şüphelileri (Base64, hex, Caesar) tek tek deneyin, bir CTF’de frekans + tahmin genellikle birkaç denemede kırar.
İsimlendirilmiş bir eşleşme olarak muhtemelen hayır: aday döndürmez veya düşük güvenli bir tahmin döndürür. Şifreli metninizin alfabesini ve yapısını yukarıdaki sezgisel tabloyla karşılaştırarak basit ev yapımı şemaları tersine mühendislikle çözebilirsiniz.
İlgili Araçlar
A1Z26 Şifre Kodlayıcı
A1Z26 şifresiyle (A=1, B=2, ... Z=26) metni kodlayın veya sayı dizisini özel ayraçla tekrar harflere çözün.
Base85 Kodlayıcı ve Çözücü
PostScript ve PDF dosyalarının içinde kullanılan Adobe Ascii85 biçimiyle Base85 kodlayın ve çözün. İkili veri için Base64'ten daha kompakttır.
Atbash Şifre Kodlayıcı
Metni Atbash şifresiyle kodlayın veya çözün; A-Z harflerini Z-A ile eşleyen İbrani kökenli bir yerine koyma şifresidir. Aynı işlem hem şifreler hem çözer.
Base32 Kodlayıcı ve Çözücü
RFC 4648 alfabesini kullanarak Base32 stringlerini kodlayın ve çözün. TOTP secret'ları, büyük/küçük harf duyarsız token'lar ve insanın yazdığı tanımlayıcılar için kullanışlıdır.
Base58 Kodlayıcı ve Çözücü
UTF-8 metnini veya onaltılık baytları kodlayın; Base58 verisini Bitcoin, Ripple ya da Flickr alfabesiyle güvenle çözün.
Base64 Dosya Kodlayıcı
Herhangi bir dosyayı (PDF, ZIP, görüntü, çalıştırılabilir dosya) JSON, e-posta, YAML veya data URI içine gömmek için Base64 metne kodlayın. Yerel çalışır, yükleme yok.