![4zA8pJ.jpg](https://i.hizliresim.com/4zA8pJ.jpg)
SQL Injection Anlatımı
Görseller eşliğinde detaylı anlatıma geçmeden önce veritabanını, SQL'i ardından SQL Injection'ı tanıyalım diyorum.
Veritabanı(Database) Nedir?
Veritabanı herhangi bir sistemin tüm objelerinin toplandığı alana verilen addır. İngiliz dilinde "Database" olarak adlandırılır ve internet dünyasında çoğunluğu bu ad oluşturur. Daha kısa bir tanım ile açıklamak gerekirse veritabanı, sistemdeki verilerin tümüdür.
Structured Query Language(SQL) Nedir?
Structured Query Language yani SQL bir veritabanı yönetim organıdır ve sistemin kendisidir. Açılımına baktığımızda son kelime bizim dikkatimizi çekmektedir: Language. Language, İngilizce bir sözcüktür ve Türkçe karşılı dil, lisandır. Evet, SQL bir dildir. Ancak çalışma prensipleri farklıdır. SQL, kullanıcı ile veritabanı arasındaki bir köprüdür. Kullanıcının bu köprüden geçme girişimine ise "Veritabanı Sorgusu" adı verilmektedir.
SQL Injection Nedir?
Yukarıdaki tanımlarda anlatmış olduğumuz sistemin birde açığı vardır. Bu açıktan yararlanılarak sisteme yetkisiz bir biçimde sızmaya SQL Injection adı verilir. SQL Injection dünya çapında çok fazla kullanılmaktadır ve en popüler güvenlik açığıdır. Birçok sitede mevcuttur ve yıllardır diriliğini korumaktadır. Şimdi gelelim bu açığın nasıl meydana geldiğine: "Veritabanı ile kullanıcı arasındaki köprü" diye nitelendirmiştik SQL'i hatırlarsanız. İşte SQL Injection imkanı da SQL kodlardaki yanlışlıklardan meydana gelmektedir. Bu yanlışlıklar insan kaynaklı olacağı için bakkal sitesinden tutun devlet sitelerine kadar her sistemde bulunabilir. SQL Injection ile neler yapılabileceğine gelecek olursak, sızmış olduğunuz sistemin veritabanına ulaşabileceğiniz için sistemdeki tüm verileri çalabilirsiniz. Bu saldırı yöntemini kullanmakta bize yardımcı olacak programları görseller eşliğinde sizlere açıkladığımızda daha etkili olacağını düşünüyorum.
![2ad540.png](https://i.hizliresim.com/2ad540.png)
SQLMAP
SQL Injection anlatımımızdaki ilk veri çekme yöntemi olan sqlmap, cmd altyapısını kullanarak hedef siteden veri çekmemizi sağlıyor. Madde madde anlatıma geçebiliriz:
1)- Öncelikle açıklı bir site bulmalısınız. Bu işlem için Safe 3, Türk-Altay v3.0 programlarını kullanabilirsiniz yahut kendi yöntemlerinizle herhangi bir programdan destek almadan bu işi gerçekleştirebilirsiniz. Ancak açıklı site ararken güncel siteleri hedef almanız sizin yararınıza olacaktır. Güncel siteleri bulabilmek için ise "Tümü, Görseller" şeklinde devam eden butonların en sağında yer alan "Araçlar" simgesine tıklamalısınız. Tıkladıktan sonra "Herhangi bir zaman" seçeneğine tıklayıp bir aralık belirlemelisiniz. Bu şekilde güncel sitelere erişim sağlarsınız.
2)- Hedef bir site belirledikten sonra Python 2.7'ye ve sqlmap dosyasına ihtiyacımız var. Bunları bir şekilde temin ettikten sonra sqlmap'i açıp kodlarımızı yazıyoruz:
"sqlmap.py -u site adresi--dbs"
bu kodu yazdığınız zaman tarama işlemi gerçekleşecektir. Saldırı başarılı olursa kolonlar önünüze düşmeye başlar, bundan sonra yazacağımız kod ise şudur:
"sqlmap.py -u site adresi-D databaseismi --tables"
(Kolon adını yazarken "schame" olmamasına dikkat edin.)
seçtiğiniz kolon açılıp, istediğiniz seçeneği belirledikten sonra bu kodu yazıyoruz:
"sqlmap.py -u site adresi-D databaseismi -T tablolar --columns"
bu işlemi de gerçekleştirdikten sonra dilediğiniz veriyi çekebilirsiniz:
"sqlmap.py -u site adresi-D databaseismi -T admin -C tablolar --dump"
1)- Öncelikle açıklı bir site bulmalısınız. Bu işlem için Safe 3, Türk-Altay v3.0 programlarını kullanabilirsiniz yahut kendi yöntemlerinizle herhangi bir programdan destek almadan bu işi gerçekleştirebilirsiniz. Ancak açıklı site ararken güncel siteleri hedef almanız sizin yararınıza olacaktır. Güncel siteleri bulabilmek için ise "Tümü, Görseller" şeklinde devam eden butonların en sağında yer alan "Araçlar" simgesine tıklamalısınız. Tıkladıktan sonra "Herhangi bir zaman" seçeneğine tıklayıp bir aralık belirlemelisiniz. Bu şekilde güncel sitelere erişim sağlarsınız.
2)- Hedef bir site belirledikten sonra Python 2.7'ye ve sqlmap dosyasına ihtiyacımız var. Bunları bir şekilde temin ettikten sonra sqlmap'i açıp kodlarımızı yazıyoruz:
"sqlmap.py -u site adresi--dbs"
bu kodu yazdığınız zaman tarama işlemi gerçekleşecektir. Saldırı başarılı olursa kolonlar önünüze düşmeye başlar, bundan sonra yazacağımız kod ise şudur:
"sqlmap.py -u site adresi-D databaseismi --tables"
(Kolon adını yazarken "schame" olmamasına dikkat edin.)
seçtiğiniz kolon açılıp, istediğiniz seçeneği belirledikten sonra bu kodu yazıyoruz:
"sqlmap.py -u site adresi-D databaseismi -T tablolar --columns"
bu işlemi de gerçekleştirdikten sonra dilediğiniz veriyi çekebilirsiniz:
"sqlmap.py -u site adresi-D databaseismi -T admin -C tablolar --dump"
![Y6yJ9z.png](https://i.hizliresim.com/Y6yJ9z.png)
Havij
Havij, sqlmap'e göre daha çok tercih edilir. Bundaki etken Havij ile SQL Injection'un daha kolay gerçekleşmesidir. Arayüzü görseldeki gibi olan Havij, sqlmap'te kodlarını yazarak gerçekleştirdiğimiz işlemleri butonlara ekleyip yapacağımız işlemin daha kolay olmasını sağlıyor. Şimdi madde madde anlatıma geçelim:
- Yine bir hedef site bulmanız gerekiyor bunun için "SQLMAP" başlığındaki birinci maddeyi okuyabilirsiniz. Hedef siteyi belirledikten sonra "Target" yazan yere sql açık linkini yapıştırıyoruz. Yine sqlmap'teki gibi bir analiz yapacaktır ve başarılı olursa size kolonlara erişme imkanı sağlayacaktır.
- İşlem başarılı olduktan sonra "Tables" ardından "Get Tables" seçeneklerine tıklıyoruz. Sol da yer alan sayfaya birçok kolon düşecektir. Dilediğinizi seçip "Get Collumns" ardından yine belirlediğiniz kolonu seçip "Get Data" diyoruz. Seçtiğiniz şey admin şifresi, telefon numarası yahut farklı kişisel bilgiler olabilir. Ne seçerseniz seçin "Get Data" butonuna tıkladığınız zaman sağ taraftaki sayfada bilgiler sıralı bir şekilde gelecektir.
- Yine bir hedef site bulmanız gerekiyor bunun için "SQLMAP" başlığındaki birinci maddeyi okuyabilirsiniz. Hedef siteyi belirledikten sonra "Target" yazan yere sql açık linkini yapıştırıyoruz. Yine sqlmap'teki gibi bir analiz yapacaktır ve başarılı olursa size kolonlara erişme imkanı sağlayacaktır.
- İşlem başarılı olduktan sonra "Tables" ardından "Get Tables" seçeneklerine tıklıyoruz. Sol da yer alan sayfaya birçok kolon düşecektir. Dilediğinizi seçip "Get Collumns" ardından yine belirlediğiniz kolonu seçip "Get Data" diyoruz. Seçtiğiniz şey admin şifresi, telefon numarası yahut farklı kişisel bilgiler olabilir. Ne seçerseniz seçin "Get Data" butonuna tıkladığınız zaman sağ taraftaki sayfada bilgiler sıralı bir şekilde gelecektir.
![vPGR26.png](https://i.hizliresim.com/vPGR26.png)
Türk Altay v3.0
Türk-Altay v3.0 programı sadece SQL Injection için değil, SQL Scanner, SQL Login Bypass, Admin Panel Bulucu, Denial of Service gibi birçok hack aracı içinde kullanılmaktadır. Bunlara ek olarak program Türk yapımıdır ve bu programı makalenin en güzel içeriği yapan şey de budur. Program Havij ile benzer çalışmaktadır ve farklardından bir tanesi Türk-Altay v3.0 programının Türkçe olmasıdır. Yine madde madde anlatıma geçelim:
- Hedef site belirlemeyi artık ezberlemişsinizdir diye umut ediyorum. Aynı işlem, hedef site belirlenir ve açıklı url "Hedef Site" yazan yere yapıştırılır. Analiz gerçekleşir ve başarı elde edilirse veritabanına giriş sağlanır.
- Veritabanına giriş yaptıktan sonra sırasıyla "Tablo Çek", "Kolon Çek" ve "Veri Çek" butonlarına basılır.
- Hedef site belirlemeyi artık ezberlemişsinizdir diye umut ediyorum. Aynı işlem, hedef site belirlenir ve açıklı url "Hedef Site" yazan yere yapıştırılır. Analiz gerçekleşir ve başarı elde edilirse veritabanına giriş sağlanır.
- Veritabanına giriş yaptıktan sonra sırasıyla "Tablo Çek", "Kolon Çek" ve "Veri Çek" butonlarına basılır.
Son düzenleme: