Anlatım Turk Hack Team'dan Dark Desert 'e aittir. 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.
# 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.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.