22 Nisan 2011 Cuma

Hedef Sitede Sql İnjection Açığı Nasıl Bulunur?

En çok sorulan sorulardan biri ;
-Hedef sitede sql injection açığı nasıl bulunur?
Bilindiği üzere sql veritabanındaki kayıtlara ''id'' değeri verir. Biz de bu ''id'' değerini kullanarak siteyi hataya zorlarız. Peki bu nasıl olur? Örneklendirelim ;
Sitemiz sqluzmani.com olsun. Öncelikle sitede ''id'' değeri bulalım. Bunun için sitede biraz gezmek yeterli ancak olur da bulamazsanız google Hoca'ya site:sqluzmani.com yazıp aratırsak bu sitenin google'ın indexlediği bütün sayfalarını görürüz. Arattık ve bulduk diyelim:
sqluzmani.com/ders.php?id=1
Bundan sonra açığı yakalamak için birden fazla yol var ancak ben en çok ('a) ile yapıyorum. Hemen devam edelim ve sitenin sonuna ekleyelim:
sqluzmani.com/ders.php?id=1'a
Bunu yazdığımızda sitede 3 değişik hata olabilir.
-Sitede bir değişiklik olur,
-You have an error in your SQL syntax near......,
-Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in......
Bu hatalardan en az birini aldığınız zaman sql injection var demektir. Ancak her açık olan site hacklenebilir demek yanlış olur. Forbidden ve 404 hatası verebilir daha sonra bunları bypass etmeyi de anlatıcağım. Bu yazının videosunu en yakın zamanda çekeceğim.

0 yorum:

Yorum Gönder