Fuzzing - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

İçindekiler

  • Giriş
  • 1 Tarihçe
  • 2 Fuzzing Çalışma Yöntemi
  • 3 Kullanılan Yöntemler
    • 3.1 Bellek Taşması Hataları
    • 3.2 Karakter Biçem Hataları
    • 3.3 Sayısal İşlem Hataları
    • 3.4 SQL Sorguları Değişimi
  • 4 Kaynakça

Fuzzing

  • العربية
  • Čeština
  • Deutsch
  • English
  • Español
  • فارسی
  • Français
  • İtaliano
  • 日本語
  • 한국어
  • Lombard
  • Nederlands
  • Polski
  • Português
  • Русский
  • Українська
  • 中文
Bağlantıları değiştir
  • Madde
  • Tartışma
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Araçlar
Eylemler
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Genel
  • Sayfaya bağlantılar
  • İlgili değişiklikler
  • Kalıcı bağlantı
  • Sayfa bilgisi
  • Bu sayfayı kaynak göster
  • Kısaltılmış URL'yi al
  • Karekodu indir
Yazdır/dışa aktar
  • Bir kitap oluştur
  • PDF olarak indir
  • Basılmaya uygun görünüm
Diğer projelerde
  • Vikiveri ögesi
Görünüm
Vikipedi, özgür ansiklopedi
SDLC

Fuzzing, sisteme beklenmedik, yarı geçerli, sıralı verilerin gönderimi gibi yöntemlerle sistemin iç yapısındaki hataları bulmayı hedefleyen Kapalı-Kutu yazılım test etme yöntemi. Fuzzing için çeşitli test yöntemleri isimlendirilmektedir:

  • Olumsuz test yöntemi;
  • Protokol mutasyon;
  • Güvenilirlik test yöntemi;
  • Sözdizimi test yöntemi;
  • Hata enjeksiyonu;
  • Yağmurlu-gün test yöntemi;
  • Kirli test yöntemi.

Fuzzing yöntemlerinin uygulanmasını sağlamak için geliştirilen programlara ise Fuzzer denilmektedir.

Tarihçe

[değiştir | kaynağı değiştir]

Fuzzing bazı yazılım mühendisleri tarafından yazılım testlerinde benzer yöntemler kullanılsa da, 1989 yılında Prof. Barton Miller ve öğrencileri tarafından geliştirilmiştir.

Fuzzing Çalışma Yöntemi

[değiştir | kaynağı değiştir]

Bir fuzzing aracının çalışma prensibi sistemin beklediği geçerli bir cevabın bütünlüğü bozmadan beklenmedik veriler ile değiştirilmesi sonucu sistemin çökmesini sağlamaktır. Bu duruma uygun bir senaryo olarak; mobil uygulamaya kullanıcı adı ve parola ile geçerli bir giriş yapıldıktan sonra sunucudan dönen cevabın içerisinde kullanıcının gerçek ismi bulunduğu düşünülsün. Geçerli bir giriş işlemi gerçekleştikten sonra kullanıcının gerçek adının yerine bir milyon karakterin mobil uygulamaya gönderilmesi, ortaya bu veriyi tutan değişkenin saklayabileceği veri boyutu sorusunu ortaya çıkartır. Bu nedenle mobil uygulamanın çökmesi gerçekleşebilir.

Kullanılan Yöntemler

[değiştir | kaynağı değiştir]

Bellek Taşması Hataları

[değiştir | kaynağı değiştir]

Sistemin programlama aşamasında geçerli veri kontrollerin yapılmasını kontrol etmeyi hedefleyen hafızayı bozma saldırısıdır. Fuzzer aracı hafızada kaplayacağı yer olarak büyük veriler gönderir:

   A
   A * 257
   A * 513
   A * 1024
   A * 2049
   A * 524289
   A * 1048577

Karakter Biçem Hataları

[değiştir | kaynağı değiştir]

Sistemin kullandığı sözdizimini hedef alan ve gelen verinin kontrol edilmemesi ile oluşan hatalardır. Bir Fuzzer aracı aşağıdaki yapıları kullanarak sistemin çökmesine yol açabilir:

   %p%p%p%p
   %p%p%p%p%p%p%p%p%p%p
   %p * 257
   %p * 513
   %x%x%x%x
   %x%x%x%x%x%x%x%x%x%x
   %x * 257
   %x * 513
   %s%p%x%d
   %s%p%x%d%s%p%x%d%s%p%x%d

Sayısal İşlem Hataları

[değiştir | kaynağı değiştir]

Hafızada kullandığı alan dışına çıkmasına sebep olan saldırı türlerinden kaynaklanan bir hata türüdür. Bellek Taşması Hatalarının işleyiş mantığı ile benzerdir.

   -1
   0
   0x100
   0x7fffffff
   0x80000000

SQL Sorguları Değişimi

[değiştir | kaynağı değiştir]

Web uygulamalarının sahip oldukları veritabanlarından sorgu dilini kullanarak hata mesajlarını elde etmek için kullanılır. Saldırgan yetkisi olmamasına rağmen elde edilen hata mesajları sayesinde veritabınından bilgi toplar. Kullanıcı arayüzünden gelen verilerin kontrol edilmemesinden dolayı bilgilere erişim kolaylıkla sağlanabilir:

   durum:= "SELECT * FROM kullanıcılar WHERE isim= '" + kullanıcıAdı+ "';"
   kullanıcıAdı = a' or 'a'='a
   ' or 1=1--
) UNION SELECT%20*%20FROM%20INFORMATION_SCHEMA.TABLES;
   Password:*/=1--
   UNI/**/ON SEL/**/ECT
   '; EXECUTE IMMEDIATE 'SEL' || 'ECT US' || 'ER'

Kaynakça

[değiştir | kaynağı değiştir]
  • Fuzzing - https://www.owasp.org/index.php/Fuzzing[ölü/kırık bağlantı]
  • OWASP Fuzzing Code Database - https://web.archive.org/web/20130507082021/https://www.owasp.org/index.php/Category:OWASP_Fuzzing_Code_Database
  • Fuzz Vectors - https://www.owasp.org/index.php/OWASP_Testing_Guide_Appendix_C:_Fuzz_Vectors 30 Mayıs 2013 tarihinde Wayback Machine sitesinde arşivlendi.
  • Ari Takanen, Jared DeMott, Charlie Miller : Fuzzing for Software - Security Testing and Quality Assurance. ARTECH HOUSE
  • Fuzzing-related papers - http://www.threatmind.net/secwiki/FuzzingPapers 29 Mart 2013 tarihinde Wayback Machine sitesinde arşivlendi.
"https://tr.wikipedia.org/w/index.php?title=Fuzzing&oldid=35168071" sayfasından alınmıştır
Kategoriler:
  • Yazılım testi
  • Bilgisayar güvenliği
Gizli kategoriler:
  • Ölü dış bağlantıları olan maddeler
  • Webarşiv şablonu wayback bağlantıları
  • Sayfa en son 19.33, 31 Mart 2025 tarihinde değiştirildi.
  • Metin Creative Commons Atıf-AynıLisanslaPaylaş Lisansı altındadır ve ek koşullar uygulanabilir. Bu siteyi kullanarak Kullanım Şartlarını ve Gizlilik Politikasını kabul etmiş olursunuz.
    Vikipedi® (ve Wikipedia®) kâr amacı gütmeyen kuruluş olan Wikimedia Foundation, Inc. tescilli markasıdır.
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
Fuzzing
Konu ekle