Selamlar,
MySQL sistemler için sql enjeksiyonu olası
tehlikeler,teknikler. - 1 adlı dökümanımın devamı niteliğinde bu
dökümanada başlıyorum.
Tek karakter brute force (deneme yanılma saldırıları)
Bu
yöntemimizde UNION sorgusu yapamadığımız örneğin MySQL < 4.x gibi
mysql sürümlerinde ve diğer benzeri durumlarda db'den nasıl veri
çekileceğini göreceğiz.
Kullanacağımız fonksiyonlar;
ascii()
substring()
Öncelikle ascii adından anlaşıldığı gibi bir değerin ascii sistemindeki karşılığını döndürür.
Substring ise ek bir sorgu çalıştırmamızı sağlar.
Örneğin
bir md5 hash çekeceğiz ama dbden sadece or 1=1 gibi sorgulara yanıt
veriyor ve sizde ah be burdan birşey çıkmaz diye düşünüyorsunuz...
Çok yanlış örnek bir sorgu verelim.
Unutmayın bu yöntemde sabır çok önemlidir ve bulduğunuz değerleri kaydetmek.
Örnek:
- http://www.kurban.org/sayfa.php?id=-1'/**/OR/**/(ascii(substring((SELECT/**/password/**/FROM/**/users/**/WHERE/**/user_id=1),27,1))=97)/*
Örnek
sorgu bu burda eğer substrinde dönen ifadenin 27. karakterinin ascii
değeri 97 yani "a" ise sistem or 1=1 gibi tepki verecek burda 97
değişkenimizdir.
md5 hashları gibi hashlar için bu örnek o yüzden
unutmayın hashlarımız hexadecimal yani 16lık sayı sisteminin
karakterlerine sahip o zaman hedefimiz.
0 1 2 3 4 5 6 7 8 9 a b c d e f
48 49 50 51 52 53 54 55 56 57 97 98 99 100 101 102
Önce 48 den 57 e kadar 0 - 9 arası değerleri ardından 97-102 e kadar a-f değerlerini deneyecez.
unutmayın eğer değer doğru dönerse direk bir sonraki karakter eşlemesini yapacağız.
Ve
unutmayın örnekte 27,1 olan yerde 27. karakterden itibaren 1 karakter
demek oluyor yani 27. karakteri al eğer 27,2 olursa 27-28 alınır ve siz
bu yöntemi yapamazsınız.
Umarım bu yöntem anlaşılmıştır bu sadece md5
hashlar için olan karakter eşlemesine örnektir siz bunu hedef sistemin
kodlarına görede yapabilirsiniz.Ve aldığınız karakterleri kaydetmeyi
unutmayın.
Bu yöntemin çalışması için hiç bir php veya mysql koruması işlemez. Magic_quotes_gpc gibi.
Dosya çıkarma
Bu
yöntemde hedef sistemin tam çalışma dizinine ihtiyacımız var ve bunun
doğrultusunda yazılabilir bir hedef lazım bize.Genelde resim dizinlerine
yazabiliriz.
Bunun doğrultusunda sisteme dosya atabiliriz örneğin
bir php shell.Bu yöntemin çalışması için magic_quotec_gpc değerini off
durumunda olmalıdır.
Örnek:
Dizin: "/var/www/sites/www.kurban.com/public_html"
Hedef: http://www.kurban.com/sayfa.php?id=-1/**/union/**/select/**/password,user_id,'phpkodumuz'/**/from/**/users/**/**/INTO/**/OUTFILE/**/'/var/www/sites/www.kurban.com/public_html/resimlerim/xxx.php'/*
Şeklinde hedefe giriyoruz, eğer SQL sorgumuz başarılıysa.
http://www.kurban.com/resimlerim/xxx.php adresinden php kodumuza ulaşıyoruz.
Bir dökümanın daha sonuna geldik belki devam ederim seriye..
Sevgilerimizler, lulz a.k.a lulzx
Yorum Gönder