Hacker Evi

Reisci tarafından kurulmuş bir ehli sünnet ve devlet yanısı bir hack forumu sitesidir.

Şimdi Kayıt Ol

Manuel SQL Injection Yöntemi Nasıl Yapılır?

Reisci

Administrator
Yönetici
Administrator
Katılım
2 Haz 2022
Mesajlar
1,095
Tepkime puanı
14
Puanları
38
Manuel SQL Injection kısaca herhangi bir siteden manuel olarak database çekmektir.
En basit anlatımı sizlere yapacağım;

1) Hedef sitenin açık olup olmadığını kontrol edeceğiz bunun için başta sitenin php kodunu almamız gerekir;
yani örnek olarak;


2) Hedef sitenin php url kodu ile sitenin açıklık durumunu kontrol etmek için sonunda tırnak işareti koymalıyız yani;
'

3) Tırnağı koyup linke gittikten sonra olabilecek 3 olasılık vardır bunlar;

* 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ığımıza göre devam edebiliriz...
4) Şimdi sitedeki kolon sayısını öğrenmemiz gerek bunu order by komudu ile gerçekleştiririz ve "order by 1" ile başlar bu sayıyı hata alana kadar 1'er 1'er arttırırız. 100'lü kolon sayıları bile vardır uğraşmanız gerekebilir. (Örneğin 7. kolonda hata aldınız bu demek oluyor ki kolon sayısı 6
örneğin;

order by 1

5) Union select ile tables bilgilerine ulaşacağız, bunu yapmak için order by'da benzeyen union select komudunu kullanacağız. Kolonlar ekrana vurdu örneğin 4 ile 5. Kolonlar işlem için en önemli unsur çünkü verileri bu kolonları kullanarak çekeceğiz. (ID değerinin önüne "-" koymayı unutmayın alttaki yerde verdiğim gibi)

union select 1,2,3,4,5,6,7,8,9




6) Site Version'ını öğrenmemiz gerekiyor, bunu yapmamız için ekrana vurulan kolon yerine düşürdüğümüz kolonlardan version() komudunu kullanmalıyız.(4. kolonu kullanalım). Enter'ladığımızda ekrana vurulan 4 sayısı version'un kaç olduğunu gösterir çoğu zaman version 5'dir ama siz yinede işinizi sağlama almalısınız. Örnek;


union select 1,2,3,version(),5,6,7,8,9


7) Tablo adı öğreneceğiz bunu kısaca kullandığımız kolon yerine Table_name yazarak yaparız. Ayrıca sayıların sonuna " from information_schema.tables " konulur. Örneğin;

union select 1,2,3,table_name,5,6,7,8,9 from information_schema.tables

Çoğu zaman ilk kolon adı CHARACTER_SETS'dir diğer kolon adları çoğu zaman görünmez göstermek için komutların sonuna limit 1,1 konulur örneğin;

union select 1,2,3,table_name,5,6,7,8,9 from information_schema.tables limit 1,1



8) Bizim aradığımız tablo isimleri nedir peki? Admin, Users, User, Admins, Yonetici, Ayarlar, Config, Yonetim, Login, Logins gibi isimleri ararız. Örneğin ben Adminim. Şimdi Bu Admin'in Kolon Adlarını Bulmak İçin Hex'lememiz Gerekiyor, Hex İşlemini Yapan Siteleri googleden Bulabilirsiniz. Örneğin;
Admin'in Hexlenmiş Hali: Php Kodu: 61646d696e
Şimdi Admin Tablosu Adı Altındaki Kolonları Çekebiliriz



9) Kolon adlarını çekmek için tekrardan 4 kolununu kullanacağız. Örneğin;


union select 1,2,3,column_name,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.


10) Kolon isimlerinin hangisi lazım? Username,password,Admin,Pass
Kolon adlarınıda buldugumuza göre tek işimiz kaldı oda kolonlardan veri çekmek.

-4 union select group_concat(Kolon Adı),2,group_concat(Kolon Adı),4,5,6,7,8,9 from (Tablo Adı)
11) Kolonlardan nasıl veri çekilir? Verimizi Çekmek İçin İşimize Yarayan Kolon Numaralarına, Yani 4 ve 5'e "group_concat(KolonAdı)" komutunu yazacağız.
group_concat(Kolon Adı),group_concat(Kolon Adı),6,7,8,9 from (Tablo Adı)



12) Örnek tablo adı:


group_concat(Username),group_concat(Password),6,7,8,9 from Admin

Bu şekilde enter'larsanız adminin tüm bilgileri düşecektir.
 
Üst