Şubat 2021

5 Şubat 2021 Cuma

WFUZZ İLE Fuzzing işlemi





Fuzzing

 

Fuzzing, temel olarak otomatik bir şekilde hatalı bir şekilde biçimlendirilmiş veri enjeksiyonu kullanarak uygulama hatalarını bulmayı içeren bir Black Box test tekniğidir. Fuzzing, test yapılan uygulamanın arka planında ki algoritma yapısını bilmediğinden dolayı gönderilen verilen uygulamada oluşturduğu etki ve sonuçları analizine dayandığından, uygulama test tekniklerinden black-box kategorisine girmektedir. Fuzzing’e  bazen Fuzz Test te denilmektedir. Biri sistemde beklenmedik bir değer girildiğinde sistem çökebilir veya klasik güvenlik sorunlarına yol açabilir (buffer overflows, DoS, XSS … ).
Fuzzing sistemde beklenmedik, yarı geçerli, sıralı verilerin gönderimi gibi yöntemlerle sistemin iç yapısındaki hataları bulmayı hedefleyen bir test etme yöntemidir. Fuzzing çalışma yöntemi sistemin beklediği geçerli bir cevabın bütünlüğü bozmadan beklenmedik veriler ile değiştirilmesi sonucu sistemin çökmesini sağlamaktır. Fuzz testi bir programın genel, güvenliği, kalitesi hakkında tam bir bilgi sağlayamaz. 

Fuzzing testi web uygulamaların zafiyet tespitinde, yazılım geliştirme ve test süreçlerinde, tersine mühendislik işlemlerinde kullanılmaktadır.

Bu yazımızda web uygulamaları ile ilgili değineceğiz. Web uygulamasının zafiyetlerini tespit etmek için fuzzer araçları 2 farklı yöntem kullanmaktadır;

Recurisice Fuzzing (Özyinelemeli): Bu teknik ile ayarlanmış alfabenin tüm olası kombinasyonlarını yineleyerek bir isteğin bir bölümünü belirleme işlemi olarak tanımlanabilir.  Yenilenerek gönderilen her verinin dönen sonucu incelenir.

Replacive Fuzzing (Değiştirmek):  Bu teknikte ise ayarlanan değer değiştirilerek gönderilmesi ile zafiyet tespit edebilme işlemi olarak tanımlanabilir. Parametreye verilen değerler sürekli olarak değiştirilerek dönen sonuçlar incelenir.

 

 

Web Fuzzer Araçları

Fuzzing sağlayan programlara fuzzer denilmektedir. Fuzzer programları rastgele verileri otomatik bir şekilde enjekte eden ve hataları tespit eden bir programdır.

Örnek Fuzzer programları;

·        WebSlayer

·        Wfuzz

·        FM-FSF

·        WebScrab

·        Spike Proxy

·        Codemonicon Defensics

·        Burp Suite

·        AppScan

·        Wapiti

·        ASP Auditor

 

Fuzzing Avantajları

·        Fuzz testi, yazılım güvenlik testini iyileştirir.

·        Fuzz testinde tespit edilene hatlar ciddi zararlar verebilir bu test esnasında bu zafiyetler tespit edilebilir.

 

Fuzzingin Eksik Kaldığı Durumlar

·        Tek başına genel bir güvenlik zafiyet haritasını çıkaramaz.

·        Etkili performans gösterebilmesi için zaman gerekmektedir.

 

 

 

WFUZZ

 

WFUZZ, hedef web uygulamasında zafiyet, dizin taramaya yardımcı olan bir araçtır. WFUZZ, web uygulaması güvenlik açıklarını bularak ve istismar ederek web uygulamalarını güvence altına almamıza yardımcı olur.  Kali Linux işletim sisteminde otomatik gelmektedir.

 

WFUZZ özellikleri;

·        HTML çıktısı almayı sağlar

·        Renkli çıktı almayı sağlar.

·        Proxy desteği sağlar.

·        SOCK desteği sağlar.

 

 

Kullanımı

 

wfuzz --h

parametresi ile wfuzz hakkında bilgi ve kullanılan parametreleri görüyoruz.

 

 

 

 


sudo wfuzz -c -z file,/usr/share/wordlists/dirb/big.txt --hw 57 --hc 404  http://10.10.171.205/FUZZ

 

Komutuna bakacak olursak;

-w parameteresi ile wordlistimizi gösterdik, -c parametresi ile renkli bir çıktı vermesini istedik, --hc 404 ile 404 kodların gösterilmesinin engellemesini istedik, --hl 57 uzunluğunu belirledik.

 

 

 

 

En çok kullanılan parametreleri; 

-c

çıktıyı renklendirir.

-z

Wordlist dosya konumu belirtmemizi sağlar

--hc

gizlenecek statü kodunu belirler

 

--hw

Gizlenecek olan content-length’i belirtiriz.

--hh

Belirli sayıda karakter göstermemizi sağlar.

--hl

 

Gizlenecek olan satır sayısını belirtmemizi sağlar.

 

 

 

 

 

 

 


 

 

Kaynaklar:

 

 

https://owasp.org/www-community/Fuzzing

https://www.360logica.com/blog/some-fuzzing-tools-for-web-application-projects/

https://medium.com/swlh/fuzzing-web-applications-e786ca4c4bb6

https://github.com/xmendez/wfuzz

https://wfuzz.readthedocs.io/en/latest/