Sizlere mysql injectionu resimli olarak site üzerinden göstermek istiyorum. Bu yazıyı okuduktan sonra genel hatlarıyla mysql injection nasıl yapılır kavramış olacaksınız. Başlamadan önce mozilla hackbar eklentisini kurarsanız sizlere kolaylık olur.
İlk olarak sitemize ' atarak hatamızı alıyoruz. Görüldüğü gibi syntax hatası veriyor,injectiona açık.
Şimdi sitemizin sonuna order by 0 ekliyoruz. Böylece kolon numaralarını bulmaya çalışacağız.
3'e kadar artırdık. Sayfamızda bozulma yok. Devam ediyoruz.
Evet 4'e geldiğimizde hata aldık. Demekki en son hatasız sayfayı açan 3 için union kullanacağız. Böylece verileri yavaş yavaş çekmeye başlayacağız.
Union select şekildeki gibi yazdık ve ekranda çeşitli numaralar gördük. Bu numaralar union ifadesinde yazdığımız sayılardan geliyor. Şimdi bir tanesini seçeceğiz ve o seçtiğimiz rakam yerine almak istediğimiz bilgiler için çeşitli sql komutları kullanacağız.
Ben 3 numaralı olanı seçtim. Şimdi user, database ve versiyon bilgilerini çektik. Burada özellikle versiyona dikkat edin. 5 ve üstü bu devam eden yöntemimiz için uygun. eğer versiyon 4 küsür olsaydı deneme yapmanız gerekecekti. Evet devam ediyoruz.
Şimdi burada information_schema dan kısaca bahsetmek istiyorum. Bu db diğer databasemizdeki tablo ve kolon isimlerini tutar. group_concat kullanarak burada toplu olarak tablo isimlerini çekiyoruz. Tablolardan işimize yarayanı tabiki adı admin olan. Onu bir yere not ediyoruz. Şimdi admin tablosunun kolonlarını çekmeye başlayazağız.
Evet birçok yerde karşınıza çıkan (uğraştığınız takdirde) magic quotes zımbırtısı. Bişey göstermedi. O zaman biz de admin kelimesini hexliyoruz. Hexin başına 0x koymayı unutmuyoruz
Evet admin tablosuna ait kolonlarımızı çektik. Şimdi çektiklerimizi group_concat() arasına yazarak bu kolonlardaki verileri çekmeye çalışacağız.
Gördüğünüz gibi verilerimizi de çektik. Ama bitişik duruyorlar. Onları okunaklı hale getirmek için istediğiniz karakter(ler)i hexleyip koyabilirsiniz. Ben ' : ' bunu tercih ettim.
Evet mutlu son Açıklara rastladıkça başka dökümanlar ve bazı problemlerin aşılmasıyla ilgili örnekler de vermeye çalışacağım. Şimdilik bu kadar. Aklınıza takılan sorularınızı sormaktan çekinmeyin lütfen.