İPUCU

Siber Güvenlik Siber Güvenlik ile alakalı araçların kullanımı, bilgi paylaşımı ve siber güvenlik eğitimi ile ilgili kaynakların paylaşıldığı alanımızdır.

Seçenekler

Fuzzing (Fuzz Testing) Nedir ? // Qwx

Qwx
Qwx - ait Kullanıcı Resmi (Avatar)
Green Team (Deneyimli)
Üyelik tarihi:
04/2012
Nereden:
İzmir
Mesajlar:
2.629
Konular:
94
Teşekkür (Etti):
82
Teşekkür (Aldı):
512
Ticaret:
(0) %
04-08-2019 18:14
#1
Fuzzing (Fuzz Testing) Nedir ? // Qwx
Fuzzing

Fuzzing veya Fuzz Testing, hedef yazılım, sistemin veya ağların iç yapısındaki zafiyetleri tespit edebilmek adına kullanılan bir kalite kontrol testidir. Test edilen uygulamanın çökmesi için ise bir çok rastgele veri içermesi gerekmektedir. Bu işlemi gerçekleştirmek için geliştirilen programlara ise Fuzzer denilmektedir.

Fuzzers, arabellek taşması, DOS, siteler arası komut dosyası çalıştırma ve SQL Enkejsiyonu yoluyla kullanılabilecek güvenlik açıklarını bulmada yarar sağlamaktadır. Fuzz testi; casus yazılım, virüsler, solucanlar, truva atları ve keylogger gibi program çökmelerine neden olmayan güvenlik tehditleriyle başa çıkmak için daha az etkilidir.

Fuzz testi basit gibi görünmesine rağmen, maliyete faydalıdır. Yazılım yazılırken ve hata ayıklanırken göz ardı edilen ciddi hataları genellikle ortaya çıkartan Fuzz testi bir programın genel güvenliği, kalitesi hakkında tam bir bilgi veremez.

Fuzz Kategorileri

Recursive Fuzzing: Özyinelemeli Fuzzing olarak bir Türkçe'leştirme yapabiliriz. Bu teknikte bir isteğin bir bölümünü, ayarlanmış bir alfabenin tüm olası kombinasyolarını yineleyerek bir isteğin bir bölümünü belirleme işlemi olarak tanımlanabilir.

Örnek;

http://www.<orneksiteadi>.com/901935fc

Belirlenen onaltılık alfabe karşısında kaynaştırılma isteiğinin bir parçası olarak "
901935fc" seçilmektedir. Sonuç olarak 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f özyinelemeli kategorisine girmektedir. Bu formun toplam 16^8 isteğini oluşturur ve hepsini tek tek denemektedir;

http://www.<orneksiteadi>.com/00000000
http://www.<orneksiteadi>.com/00000001
http://www.<orneksiteadi>.com/aaaaaaaa


Replacive Fuzzing : Değiştirmeli, yerine değiştirmek gibi bir Türkçe'leştirme yapabiliriz. Bu tekniğin ise bir isteğin parçalı kısmının ayarlanmış bir değerle değiştirilmesi yoluyla bir araya getirme işlemi olarak tanımlanabilir. Bu değer bir Fuzz vektörü olarak bilinmektedir.

Örnek;

http://www.<orneksiteadi>.com/901935fc

Aşağıdaki Fuzz vektörlerini teker teker deneyerek XSS karşı test etmektedir;

http://www.
<orneksiteadi>.com/>"><script>alert("XSS")</script>&
http://www.<orneksiteadi>.com/'';!-- "<XSS> = & {()}

Bu kategoride, toplam istek sayısı belirtilen Fuzz vektörlerinin sayısına bağlıdır.

Buffer Overflows and Format String Errors
Buffer Overflows (BFO)


Arabellek Taşması veya Bellek Bozulması Saldırısı, geçerli verilerin bellekteki önceden belirlenmiş depolama sınırını aşmasına izin veren bir programlama koşuludur.

Örnek;

A x 129
A x 257
A x 513
A x 1024
A x 2049
A x 4097
A x 8193
A x 12288

Format String Errors (FSE)

Dize Hatalarını Biçimlendirme, rastgele kodları yürütmek veya bir programın çökmesini sağlamak adına dile özgü biçim belirteçlerini içeren bir güvenlik açığı sınıfıdır. Bu tür hatalar için uğraşmak, filtrelenmemiş kullanıcı girdisini kontrol etmeyi amaçlamaktadır.

Örnek;

%x%x%x%x%x
%s%s%s%s%s
%p%p%p%p%p
%d%d%d%d%d
%s x 513
%s%p%d%s%p%d%s%p%d%s%p%d%s%p%d

Integer Overflows (INT)

Tamsayı Taşmaları, bir program bir aritmetik işlemin bir veri türünün max değerinden daha büyük veya min değerinden daha küçük bir miktarla sonuçlanabileceğini hesaba katmadığından meydana gelir. Mantık tarzından Bellek Taşması ile aynı mantıkta ilerlemektedir.

Örnek;

0
-1
0x100
0x7fffffff
0xffffffff

SQL Injection

SQL Enjeksiyon, bir web uygulamasında kullanılarak ekranda hata mesajlarını görmek adına kullanılır bu durumda kullanıcı girişi SQL ifadeleri için filtrelenmediğinde ortaya çıkar. Oluşan hata mesajları sayesinde bilgi toplama işlemini gerçekleştirmiş oluruz.

Örnek;

OR 1=1
Admin' OR '
'%20SELECT%20*%FROM%20INFORMATION_SCHEMA.TABLES--
SELECT name FROM syscolumns WHERE id = (SELECT id FROM sysobjects WHERE name = tablename')--

Wfuzz ile Fuzzing

Bir Fuzzer aracı olan Wfuzz ile Fuzzing örneğini inceleyebiliriz. Bir adet POST Requests örneğini gerçekleştirecek olursak;
Wfuzz adlı aracımızının dizininde iken terminale wfuzz -z file,wordlist/others/common_pass.txt -d "uname=FUZZ&pass=FUZZ" --hc 302 http://testphp.vlunweb.com/userinfo.php komutunu girdiğimiz zaman bazı form kodlu verilerin toplama işlemini gerçekleştirebilirsiniz.



Wfuzz ile ilgili kurulum işlemi ve daha ayrıntılı bilgi için ilgili konumu ziyaret edebilirsiniz;

Wfuzz Web Pentest Aracı Kurulumu ve Kullanımı // Qwx

---------------------
A hacker does for love what others would not do for money.
Konu Qwx tarafından (04-08-2019 18:33 Saat 18:33 ) değiştirilmiştir.
hackedbyranger, porsukhak Teşekkür etti.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı