SQL ve Havij

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.

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.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.

http://www.örneksite.com/php?id=120+…+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 ?

Ö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… 🙂

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir