# SQL en yaygın olan güvenlik açığıdır ve çok tehlikelidir.
# SQL hazır scriptler (vbulletin,vb.) gibi yüksek güvenlik testlerinden geçirilmez.
# Bu web siteleri vertibanı ile anlaşmaları için SQL’e ihtiyaç duyarlar.
SQL İnjection Nedir?
# SQL İnjection bir SQL açıklı siteye uygulanan İnjection türüdür.
SQL İnjection Olan Sayfayı Nasıl Bulabilirim ?
# SQL açığı olan bir sayfa bulabilmemiz için bize bir dork lazım bu dorku THT forumdan ya da Google amcadan bulabiliriz. Örnek bir Dork: inurl:galery.php?id= inurl:index.php?id=.
SQL İnjection’u Hangi Sayfalarada Kullanabilirim ?
# SQL İnjection’u kullanabilmamiz için sayfa url’sinde bize
id=değer", "search=değer" gibi değişken değerleri alabilen ifadeler lazımdır.
SQL İnjection’u Nasıl Kullanabilirim ?
# Evet Google’dan dorkumuzu arattık sayfalar çıktı başlıyoruz sayfaları gezmeye gezdiğimiz sayfalarda
# URL’nin sonunda php?id=45 veya daha farklı bir sayı yazar bu sayıların sonuna tırnak işareti (’) koyuyoruz.
# Örnek: http://www.örneksite.com/php?id=120 site bu sitede id değerimiz gördüğünüz gibi 220 id değerinin sonuna ’ işaretimizi koyuyoruz ve Enter’lıyoruz.
www.örneksite.com/php?id=120'
Sitede bir hata verirse :
Warning: include(../inc/content220\\\\\\\\\\\\\\\\’.inc.php) [function.include]: failed to open stream: No such file or directory in /homepages/6/d27097856/htdocs/www.fanatec.de/html/index.php on line 162
Warning: include() [function.include]: Failed opening ’../inc/content220\\\\\\\\\\\\\\\\’.inc.php’ for inclusion (include_path=’.:/usr/lib/php5’) in /homepages/6/d27097856/htdocs/www.fanatec.de/html/index.php on line 162
Bunun gibi bir hata alırsak sitede bir SQL açığı vardır.
SQL Açığını Nasıl Kullanabiliriz ?
# SQL açığını bulduktan sonra sıra geldi İnjection yapamaya İnjection’u 2 türlü yapabiliriz.
1. Havij ve benzeri programlar ile
2. Manuel olarak
Manuel SQl inj Havijin yaptığı elle yapılanıdır.
Manuel olarak SQL İnjection Nasıl Yapılır ?
# Evet sitemizde kolon sayısını bulacağız bunun için ordey+by+ veya group+by+ komutunu kullanacağız
www.örneksite.com/php?id=120+order+by+100 bu yüz sayısını misal veriyorum.
Bu sayıyı gittikçe azaltıcağız.Taa ki hatamız gidene kadar.
www.örneksite.com/php?id=120+order+by+95
www.örneksite.com/php?id=120+order+by+40
www.örneksite.com/php?id=120+order+by+7
evet diyelimki 7 de hatamız gitti yani kolon sayımız 7’dir.
Şimdi Kolonları ekrana yansıtmaya geldi sır****olon sayımız 7’idi.
Bunun için union+select+... kodumuzu kullanacağız.
www.örneksite.com/php?id=120+union+select+0,1,2,3,4,5,6
yazıyoruz.Kolon sayımız 7 olduğu için 7’ye kadar yazıyoruz.
Evet diyelimki 1 ve 5 kolonları yansıdı ekrana.
Not: Unutmadan bir not’da geçelim eğer kolonlar ekrana yansımaz ise URL’mizin sonuna -- ifadesini eklemeliyiz.
Havij Yolu ile SQL İnjection Nasıl Yapılır ?
indirmek için link : indir
# Evet SQL açıklı sitemizi bulduk. Fanatec.com sitemiz buydu bu şekilde Havij’e yapıştırıyoruz.
Analyze diyoruz Analyze ettikden sonra Tables diyoruz
Tables dedikten sonra Get Tables diyi kolonları çekiyoruz.
Çektikten sonra admin_pass’ı seçip Get Columns diyoruz
Admin_pass ı açtıktan sonra username ve password seçeneğine tıklayıp Get data diyoruz ve username şifre elimizde
Admin panelini bulmak istiyorsak Find Admin’e tıklayıp URL’mizi yapıştırdıktan sonra Start diyoruz ve Admin paneli elimizde.png