HeRoTurk
Özel Üye
Selamun Aleyküm Kardeşlerim...şimdi sizlere SQL nedir? SQL injection nedir? nasıl kullanılır? manuel ve programlı anlatım birlikte adım adım anlatacagım.
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: >>>Fanatec.com Almanya uzantılı bir site bu sitede id değerimiz gördüğünüz gibi 220 id değerinin sonuna ’ işaretimizi koyuyoruz ve Enter’lıyoruz.
>>>Fanatec.com
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
>>>Fanatec.com bu yüz sayısını misal veriyorum.
Bu sayıyı gittikçe azaltıcağız.Taa ki hatamız gidene kadar.
>>>Fanatec.com
>>>Fanatec.com
>>>Fanatec.com
>>>Fanatec.com
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.
>>>Fanatec.com 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.
Şimdide versiyon lazım bize Versiyonu isteyelim.
Versiyon Nasıl istenir?
Versiyon istemek için 2 tane komutumuz var version() ve @@version şeklinde bu komutları URL’mizin üzerine ekleyelim.
Ekrana vuran kolon 3 olduğu için 3’ün yerine ekliyoruz.
>>>Fanatec.com
5.0.91mm-log bunun gibi birşeyle yazar ise göründüğü gibi verisyon 5’tir.
Sonraki Aşama Database’den tabloları almaya ama bunu bir sonraki dersimde anlatacağım.
Havij Yolu ile SQL İnjection Nasıl Yapılır ?
indirmek için link : Hotfile.com: One click file hosting: Havij 1.15 Pro + Loader V1.1.rar
# 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
+Alıntı
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: >>>Fanatec.com Almanya uzantılı bir site bu sitede id değerimiz gördüğünüz gibi 220 id değerinin sonuna ’ işaretimizi koyuyoruz ve Enter’lıyoruz.
>>>Fanatec.com
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
>>>Fanatec.com bu yüz sayısını misal veriyorum.
Bu sayıyı gittikçe azaltıcağız.Taa ki hatamız gidene kadar.
>>>Fanatec.com
>>>Fanatec.com
>>>Fanatec.com
>>>Fanatec.com
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.
>>>Fanatec.com 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.
Şimdide versiyon lazım bize Versiyonu isteyelim.
Versiyon Nasıl istenir?
Versiyon istemek için 2 tane komutumuz var version() ve @@version şeklinde bu komutları URL’mizin üzerine ekleyelim.
Ekrana vuran kolon 3 olduğu için 3’ün yerine ekliyoruz.
>>>Fanatec.com
5.0.91mm-log bunun gibi birşeyle yazar ise göründüğü gibi verisyon 5’tir.
Sonraki Aşama Database’den tabloları almaya ama bunu bir sonraki dersimde anlatacağım.
Havij Yolu ile SQL İnjection Nasıl Yapılır ?
indirmek için link : Hotfile.com: One click file hosting: Havij 1.15 Pro + Loader V1.1.rar
# 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
+Alıntı