Malatya DENEYAP
Ortaokul Siber Güvenlik Dersi
Eğitmen: Hakan TOPTAŞ
SQL Injection'ı anlamak için önce veritabanının nasıl organize edildiğini bilmeniz gerekir.
Veritabanı, bilgilerin düzenli şekilde saklandığı dijital bir dosya dolabı gibidir. Her web sitesi kullanıcıları, ürünleri veya mesajları bir veritabanında tutar.
Bu laboratuvarda veritabanının adı: sql_injection_lab
(ama saldırgan bunu başta bilmez — keşfetmesi gerekir!)
Tablo, Excel sayfası gibi düşünülebilir. Her tablo belirli bir konuyu tutar. Örneğin bir okul sitesinde:
kullanicilar — öğrenci ve öğretmen hesaplarıurunler — mağaza ürünlerinotlar — sınav notları (bu labda yok)| Tablo Adı | Ne Tutar? | Kayıt Sayısı |
|---|---|---|
kullanicilar | Kullanıcı adı, şifre, rol, gizli not | 4 |
urunler | Ürün adı, fiyat, kategori | 6 |
Tablo: kullanicilar
| id PK | kullanici_adi | sifre | rol | gizli_not |
|---|---|---|---|---|
| 1 | admin | superGizli123 | yonetici | Yönetici paneli şifresi... |
| 2 | ogrenci1 | 12345 | ogrenci | Ben sadece sıradan... |
id| Tür | Açıklama | Örnek Alan |
|---|---|---|
INT |
Tam sayı | id |
VARCHAR(n) |
En fazla n karakterlik metin | kullanici_adi, kategori |
DECIMAL |
Ondalıklı sayı (fiyat gibi) | fiyat |
TEXT |
Uzun metin | gizli_not |
Bu basit laboratuvarda tablolar birbirine bağlı değil. Gerçek sitelerde
ogrenci_id gibi alanlarla tablolar birbirine bağlanır.
Artık yapıyı biliyorsun. Peki saldırgan bunu nasıl keşfeder?
Modül 2: SQL ile Keşif →