Tehdit profili
Enjeksiyon (SQL ve komut)
Güvenilmeyen girdinin sorgunun ya da komutun parçası sayılması; uygulama geliştiricinin hiç öngörmediği bir işlemi yürütür.
Nasıl işler
Uygulama bir veri tabanı sorgusunu ya da işletim sistemi komutunu metin birleştirerek oluşturuyorsa, bir form alanı gibi girdi sorgunun yapısını değiştirebilir. Sonuç, başka kullanıcıların kayıtlarını okumaktan veri silmeye kadar uzanır. Kök neden, veriyle talimatın karıştırılmasıdır.
Nelere bakılmalı
- Ziyaretçiye gösterilen veri tabanı hataları.
- Düz metin beklenen alanlar için günlüklerde tırnak, noktalı virgül gibi olağandışı karakterler.
- Aynı parametreyi yoklayan yavaş ya da tekrarlı istekler.
Riski ne azaltır
- Parametreli sorgular ya da değerleri bağlayan bir ORM kullanın; girdiyi hiçbir zaman sorguya birleştirmeyin.
- Girdiyi sunucuda beklenene göre doğrulayın; mümkünse izin listesi kullanın.
- Uygulamanın veri tabanı hesabına yalnızca ihtiyacı olan yetkileri verin.
- Ham hata iletilerini kullanıcıya göstermeyin; ayrıca günlüğe yazın.
Kaynaklar
İlgili tehditler
Bu bölüm savunma ve öğrenme içindir. Sahibi olmadığınız ya da test etmek için yazılı izin almadığınız sistemleri denemeyin: bir bilişim sistemine hukuka aykırı olarak girmek suçtur (Türk Ceza Kanunu m. 243).