Selam dostlar, bu gün sizlerle birlikte MySQL altyapısını kullanan web sitelerin database'ini nasıl MySQL Shell kullanarak çekebileceğinizi anlatacağım.
Öncelikle konunun sonuna koyduğum indirme linkine giriyoruz ve MySQL Shell'i indiriyoruz
Şimdi hedef sitemizin ip adresinde port taraması yapalım ve hangi portlar açık ona bakmamız lazım. Eğer ki 3306 veya 3307 portları açık ise (başka portlarda olabilir, bunlar en yaygını) MySQL portu açık demektir, nmap üzerinden tarama yaptığınızda zaten belirtir.
MySQL Portunun açık olduğunu gördükten sonra bir kaç kombinasyonu MySQL Shell üzerinden deneyebiliriz. Bağlantı kurabilmemiz için MySQL Shell'i açıktan sonra şunları yazabiliriz:
\connect username@ip":"port
bunu yazdıktan sonra sizden şifre isteyecektir. Bazı sitelerde düşündüğünüzden çok daha fazla kez şunlar olur:
Administrator/Şifre Yok
root/12345
root/root
Eğer şifre bilgilerine erişemezseniz Arbitrary File Read exploitleri ile config dosyalarına erişip oradan database user ve password bilgilerini alabilirsiniz. Bu exploitler ile alakalı konular açmayı düşünüyorum, ayrıca information disclosure aracılığı ile de bu amaca ulaşabilirsiniz. Ben bağlandım web sitesine, şöyle bir görünüm olacak:
Gördüğünüz gibi "JS" yazıyor, şuan javascript modunda. Javascript modundan çıkıp SQL moduna geçmemiz gerekiyor çünkü versiyonlar uyuşmuyor genel olarak, ve javascript modu stabil çalışmıyor.
Gördüğünüz gibi SQL yazıyor ve SQL moduna giriş yapmış bulunuyoruz. Şimdi database isimlerini alacağız, eğer information disclosure ve config dosyaları vasıtası ile buradaysanız zaten elinizde database ismi olur ama yinede işi garantiye alalım.
"SHOW DATABASES;" komutu ile databaseleri görüntüleyebiliyoruz. Şimdi "mysql" database'ine giriş yapalım.
Ve mysql database'ine giriş yaptık, şimdi tabloları görüntüleyelim.
En az 50 tane tablo çıktı ve ekrana sığmadı, ben içlerinden "user" adlı tabloyu seçeceğim. Bu tabloya ait verileri çekelim şimdi.
Bu tabloda kayda değer bir data çıkmadı daha çok servera ait infolar içermekte. Bu tablolardan şüpheli ve kritik data içereceğini düşündüğümüz tabloları "SELECT * FROM tabloadi;" komutu ile çekebiliriz.
Konu bu kadardı, bir sonraki konumuzda database bilgilerine erişebileceğimiz exploitlere ve onları sömürmeye değineceğiz.
İyi forumlar.
Son düzenleme:



