SQL Nedir ?
# SQL (Structured Query Language) veritabanından bilgi çekme silme vb. gibi işlemler yapabilen bir dildir. Bulunduğumuz zamanda çoğu web sitelerinin alt yapılarında bu veritabanı vardır.
# 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: 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.
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.orneksite.com/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.orneksite.com/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.
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 ?
Öncelikle Havij’i indirmemiz lazım 🙂 ;
(drive’a yükleyen benim)
# Evet SQL açıklı sitemizi bulduk. www.örneksite.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. (nıhahahhahhaa diye gülebilirsiniz 🙂 )
Admin panelini bulmak istiyorsak Find Admin’e tıklayıp URL’mizi yapıştırdıktan sonra Start diyoruz ve Admin paneli elimizde.png
Ekibimize bakmayı unutmayın… 🙂