0Pricing
Cyber Security Academy · Ders

Web ve Kripto Zorlukları

Yaygın web ve kripto bulmacalarını çözme.

Web ve Kripto Zorlukları, CoddyKit'te ücretsiz bir Cyber Security Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cyber Security Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cyber Security Academy kursu toplamda 4 dersten oluşur.

İki Temel Alan: Web ve Kriptografi

Web ve kriptografi, CTF'ye giriş için en yaygın iki başlangıç noktasıdır.

  • Web görevleri, size çalışan bir web uygulaması verir ve uygulamanın girdiyi, kimlik doğrulamayı veya güveni ele alış biçimindeki bir açığı bulmanızı ister.
  • Kriptografi görevleri, size şifreli metin, bir şema ve bazen kaynak kodu verir; kriptografinin kullanım biçimindeki bir açıktan yararlanarak açık metni veya anahtarı elde etmenizi ister.

Her ikisi de yöntemli gözlem yapmayı gerektirir. Bu ders, her alanda tekrar eden bulmacaları ele alır.

Bir Web Hedefindeki İlk Adım

Herhangi bir şeyi istismar etmeden önce uygulamanın haritasını çıkarın. Kaynak kodunu görüntüleyin, yanıtları inceleyin ve gizli içerikleri yoklayın.

# Inspect raw response headers and body
curl -i http://target/

# Look for hidden paths the UI does not link to
gobuster dir -u http://target/ -w wordlist.txt

# Common files worth checking by hand
# /robots.txt  /.git/  /backup.zip  /admin

SQL Enjeksiyonu

SQL enjeksiyonu, kullanıcı girdisi kod ile veri arasında ayrım yapılmadan bir veritabanı sorgusuna birleştirildiğinde meydana gelir.

SELECT * FROM users WHERE name='INPUT' gibi bir sorgu oluşturan giriş sistemi, dizeyi kapatıp mantığı değiştiren bir girdinin kullanılmasıyla manipüle edilebilir:

# A classic auth-bypass payload supplied as the username
' OR '1'='1' -- 

# UNION-based extraction once the column count is known
' UNION SELECT username, password FROM users -- 

Enjeksiyonun Gerçek Çözümü

CTF, enjeksiyonu nasıl kıracağınızı ve böylece nasıl savunacağınızı öğretir. Doğru savunma, kullanıcı verilerini sorgu yapısının tamamen dışında tutan parametreli sorgulardır (hazırlanmış ifadeler).

# Vulnerable: input becomes part of the SQL text
query = "SELECT * FROM users WHERE name='" + name + "'"

# Safe: input is bound as a parameter, never parsed as SQL
cursor.execute("SELECT * FROM users WHERE name = ?", (name,))

Siteler Arası Betik Çalıştırma (XSS)

XSS, bir uygulama saldırganın kontrolündeki girdiyi yansıttığında veya depoladığında ve tarayıcı bunu betik olarak çalıştırdığında meydana gelir. CTF'de bir XSS görevi, genellikle çerezinde bayrağı taşıyan bir botun sizin yükünüzü ziyaret etmesini içerir.

  • Yansıtılan — istekteki yük doğrudan geri yansıtılır.
  • Depolanan — yük kaydedilir ve sonraki ziyaretçiler için çalıştırılır.
  • DOM tabanlı — istemci tarafındaki JavaScript, girdiyi sayfaya güvenli olmayan bir biçimde yazar.

Savunma, bağlama duyarlı çıktı kodlaması ile İçerik Güvenliği Politikası kullanmaktır. <script>alert(1)</script> gibi bir deneme girdisi, girdinin etkisizleştirilip etkisizleştirilmediğini doğrular.

SSRF ve Yol Geçişi

İki temel web konusu daha vardır:

  • Sunucu Taraflı İstek Sahteciliği (SSRF) — bayrağa ulaşmak için sunucuyu sizin adınıza istek yapmaya kandırırsınız; genellikle http://127.0.0.1 gibi yalnızca dahili erişime açık adreslere veya bir bulut meta veri uç noktasına istek yaptırırsınız.
  • Yol geçişi — ../ gibi dizilerle hedeflenen dizinin dışına çıkarak web kökünün dışındaki dosyaları okursunuz; örneğin ../../../../etc/passwd.

Her ikisi de bir kaynağı seçmesi için kullanıcı girdisine güvenmekten kaynaklanır. Savunma, katı izin listeleri kullanmak ve yolları kullanmadan önce standartlaştırıp doğrulamaktır.

Kodlama Şifreleme Değildir

Yeni başlayanların en sık düştüğü kriptografi tuzağı, kodlamayı şifrelemeyle karıştırmaktır. Kodlama, anahtara ihtiyaç duymadan herkes tarafından geri çevrilebilir; bu nedenle hiçbir gizlilik sağlamaz.

Biçimleri görür görmez tanımayı öğrenin:

  • Base64 — harfler, rakamlar, + / ve çoğu zaman = dolgusu.
  • Onaltılık — yalnızca 0-9 a-f.
  • ROT13 / Sezar — okunabilir yapı ve kaydırılmış harfler.
# Decode base64
echo 'ZmxhZ3toZWxsb30=' | base64 -d

# Decode hex
echo '666c6167' | xxd -r -p

Klasik ve XOR Şifreleri

Birçok kriptografi görevi, zayıf tarihsel şifreler veya özensiz uygulanmış modern şifreler kullanır:

  • Sezar / Vigenère — frekans analiziyle veya 25 kaydırmanın tümünü deneyerek kırılabilen kaydırma şifreleri.
  • Tek baytlı XOR — tüm mesajın tek bir baytla XOR işlemine tabi tutulması; 256 anahtarın tümünü kaba kuvvetle deneyip okunabilir çıktıyı seçin.
  • Tekrarlayan anahtarlı XOR — anahtar uzunluğunu bularak, ardından her anahtar baytını tek baytlı XOR olarak çözerek kırılır.

Ders şudur: özel veya klasik bir şifre, bir analiste karşı gerçek bir güvenlik sağlamaz.

RSA Tuzakları

RSA yalnızca parametreleri doğru seçildiğinde güvenlidir. CTF kriptografisi size bozuk bir örnek sunmayı sever:

  • Küçük modül — n yeterince küçükse özel anahtarı elde etmek için doğrudan çarpanlarına ayırabilirsiniz.
  • Küçük üs, dolgu yok — e=3 ve kısa bir iletiyle şifreli metin tam küp olabilir ve tam sayı küp kökü alınarak elde edilebilir.
  • Paylaşılan çarpanlar — iki açık anahtar bir asal sayıyı paylaşıyorsa modüllerinin en büyük ortak böleni bu sayıyı anında ortaya çıkarır.

Gerçek dünyadaki savunma şudur: büyük anahtarlar ve uygun dolgu (OAEP) kullanan, güvenilirliği doğrulanmış bir kütüphane kullanın; kendi uygulamanızı yazmayın.

Özet Kırma

Bir görev size parola özeti verdiğinde amaç, özgün girdiyi geri elde etmektir. Bir özeti tersine çeviremezsiniz; ancak girdileri tahmin edip karşılaştırabilirsiniz.

# Identify the hash type first
hashid 5f4dcc3b5aa765d61d8327deb882cf99

# Dictionary attack with hashcat (mode 0 = raw MD5)
hashcat -m 0 hash.txt rockyou.txt

# John the Ripper alternative
john --wordlist=rockyou.txt hash.txt

Tekrarlanabilir Bir İş Akışı

Her iki kategori için de tutarlı bir döngü kullanarak süreci birleştirin:

  • Gözlemleyin — görev açıklamasını okuyun, kaynak kodunu görüntüleyin, kodlamayı veya şemayı belirleyin.
  • Hipotez kurun — olası güvenlik açığı ailesini adlandırın.
  • Küçük bir sınama yapın — tek bir deneme yükü gönderin, tam yanıtı izleyin.
  • İstismar edin — işe yarayan deneme yükünü, bayrağı veren tam bir yüke dönüştürün.
  • Belgeleyin — yükü ve akıl yürütmenizi henüz tazeyken kaydedin.

Bu döngü, çıkmazlara sapmanızı önler ve neredeyse zahmetsizce bir çözüm yazısı oluşturmanızı sağlar.

Hızlı Kontrol

Web ve kriptografinin temellerini ne kadar kavradığınızı sınayın.

Özet

Tekrarlanan web ve kriptografi bulmacalarını ele aldınız:

  • Web: önce haritalayın, ardından SQL enjeksiyonu, XSS, SSRF ve yol geçişi için denemeler yapın — bunların her biri, kullanıcı girdisine güvenmenin güvensiz olmasından kaynaklanır ve her biri kodu veriden ayırarak düzeltilir.
  • Kriptografi: kodlama ile şifrelemeyi ayırt edin, zayıf klasik ve XOR şifrelerini kırın, RSA parametre hatalarından yararlanın ve özetleri kelime listeleriyle kırın.
  • Tek bir gözlemle, hipotez kur, sınama yap, istismar et, belgele döngüsü her ikisi için de işe yarar.

Sırada tersine mühendislik ve ikili dosya istismarı var.

Sıkça Sorulan Sorular

“Web ve Kripto Zorlukları” dersi ücretsiz mi?

Evet — “Web ve Kripto Zorlukları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cyber Security Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cyber Security Academy kursu toplamda 4 dersten oluşur.

“Web ve Kripto Zorlukları” dersinde ne öğreneceğim?

Yaygın web ve kripto bulmacalarını çözme. Cyber Security Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Cyber Security Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cyber Security Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Web ve Kripto Zorlukları” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Cyber Security Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cyber Security Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. CTF Kategorileri ve Zihniyet
  2. Web ve Kripto Zorlukları
  3. Tersine Mühendislik ve Pwn Temelleri
  4. Araçlar ve Çözüm Yazıları
← Cyber Security Academy Sayfasına Dön