Access SQL Injection, yani asp sistemlerdeki sql injection zaafiyeti.
Öncelikle şunu bilmeniz gerekir , Access SQL tamamen tahmin işidir. Mysql'den daha basittir. Fakat birikiminiz olmalı biraz. Örneğin bir siteyi ele alalım ve burada Access SQL olduğunu düşünelim.
Site örneğimiz de şu şekilde olsun ; http://sitemizbu.com/grafikler.asp?id=2
HATA ALMA İŞLEMİ
Hatamızı alıyoruz , tırnak işareti veya kesme işaretiyle hata almayı bilmeyeniniz yoktur sanırım.
Örnek ; Http://sitemizbu/grafikler.asp?id=2"
hatamızı almış olduk , hatamız bu şekilde olacaktır.
Microsoft JET Database Engine error ’80040e14’ Syntax error in string in
query expression ’id = 93";’. /grafikler.asp, line 7
Çoğu zaman buna benzer hatalar alırsınız Access'te.
KOLON SAYISINI BULMA İŞLEMİ
Http://sitemizbu.Com/grafikler.asp?id=2+order+by+1
Tabi ki tek deneme de hata vereceğini sanmayın. Ama devam ediyoruz , 1 / 2 / 3 / 5 diye.. Hata verene kadar.
Örneğin ; Ben 8'i yazdığım da hata veriyorsa benim kolon sayım 7'dir.
Http://sitemizbu.Com/grafikler.asp?id=2+order+by+8
Hata çeşidi herhangi bir sayfa açılması veya bir hata metni şekilde olabilir.
İŞE YARAYAN KOLONLARI BULMA İŞLEMİ
İşimize yarayacak, yani bizim sonrasında kullanacağımız kolon sayılarını
bulmak için "Union Select" Komutunu Kullanacağız. Fakat Bir de Tablo
Her Hangi Bir Tablo Adı Kullanmalıyız, Kullanmalıyız ki, Kolon Sayılarımız Yansısın.
Kolon Sayımız 7’ydi, Unutmayalım ~
Http://sitemizbu.Com/grafikler.asp?i...+From+Tabloadi
Bu şekilde uyguladığımız da karşımıza hata değil , aynı sayfa da değil. Sayılar çıkmalı 1 ile 7 arasında.
Tabii tablo adı yazdığım yere işe yarar bir tablo adı gerekiyor.
Örneğin; Tablo Adının "News" Olduğunu Farz Edersek ;
Şeklinde Uygulanır.
Genelde En Az İki Sayı Çıkar. Fakat, Eğer ki Tablo Adı Yanlışsa Hata Metni Alırız Direk. Ben 1 ve 3’ün Yansıdığını Farz Ediyorum.
TABLO ADI BULMA İŞLEMİ
Kolonumuzu da Bulduk, Sırada İşimize Yarayacak Tablo Adını Bulma İşlemi
Var, Öncelikle Tablo Adlarının Ne Olabileceği Konusunda Bir Birikiminiz Olmalı.
Genellikle Tablo Adları
Admin, Admins, Users, User, Member, Members, Yonetici, Yonetim, Login
etc Şeklinde Olur.
.
Google’da Araştırırsanız Daha Fazla Örnek Bulabilirsiniz.
Access Tahmin İşidir Demiştik, Deneme / Yanılma Yoluyla Bulunur Tablo
Adları, Kolon Adları Vesaire...
Yani, Denemeliyiz, Başka Şansımız Yok.
Ben Tablo Adının Users Olduğunu Farz Ediyorum.
Şu Şekilde Uygulayacağız;
ve Yine Önümüzde Kolon Yansımaları Olacak. Hata Verdiği Takdirde Tablo
Adınız Yoktur DB’de.
KOLON ADI BULMA ve VERİ ÇEKME İŞLEMİ
Tablo Adımızıda Bulduğumuza Göre, Artık Kolon Adlarımızıda Tahmin Edip,
Verimizi Çekebiliriz.
Dikkat Ederseniz, TAHMiN EDiP, yani Bu Kolon Adlarında da Tahmin ve
Birikim Önemli.
Kolon Adları Neler Olabilir?
Username, User, Login, Password, Pass, Usr, Pwd, Passwd etc.
İşe Yarayacak Kolon İsimlerinin User - Password Olduğunu Varsayıyorum. Sırada Veri Çekme Kaldı, Yansıyan Sayılarımız Kaçtı ?
Bir ve Üç. Onların Yerine, Gerekli Yerlere Kolon Adlarımızı Yazıyoruz.
Şu Şekilde;
Bunu Uyguladığımızda, Veriler Çekilmiş ve Admin Bilgilerini Ele Geçirmiş
Olacağız.
Yorum Gönder