TR | Sql-i Labs Walkthrough Series 10-15
SQL-i Labs 10-15
Merhaba arkadaşlar , bu yazı dizimizde 10-15. alıştırmaları göreceğiz.
Bizim için işler artık biraz zorlaşıcak gibi o yüzden kahvelerinizi eksik etmeyin 🙂
Uyarı : Burada yapılan çoğu uygulama belki gerçek hayatta karşınıza bu şekilde kabak(başka hangi kelime ile bu kadar güzel ifade edilir ) gibi çıkmayacaktır.Alıştırmalar tamamen experience ( deneyim ) kazanma üzerine kuruludur.
Önce ki yazılara ulaşmak için :
Öncelikle şunu da söylemek istiyorum.Yine bir önceki yazılarımızda olduğu gibi sadece bypass yöntemlerini göstereceğiz ve diğer levele geçeceğiz.Siz isterseniz bütün tabloları çekmeye çalışabilirsiniz.Takdir edersiniz ki bütün levellerde bunu yaparsak bizden önce yazıyı okurken siz sıkılırsınız 🙂
Anlaştıysak başlayalım.
Level 11 :
Daha önceki levellerimize bakarak burada karşımıza bir login ekranı çıkıyor.Burada bizim bir şekilde buraya login olmamız gerekiyor.Bu konuda bizim en basit payload’ımız neydi ?
"or 1=1 ---+
Bi deneyelim hmmm işe yaramadı sanırım.Neyse biz sadece username kısmına tek tırnak çift tırnak atarak hata verdirmesini sağlayalım.Tek tırnak attığınızda aşağıda ki hatayı alacaksınız.
O zaman bizde payload’ımızı tek tırnak ile deneyelim.
' or 1=1 --+
Bu şekilde girdiğinizde uygulamaya bir şekilde login olduk.Olma sebebimize gelirsek eğer
1=1 eşitliği her zaman True döndüreceğinden dolayı bizi sisteme dahil etti.
Yani şöyle düşünün oraya gerçek bir username password yazsaydık ve bu doğru olsaydı şu şekilde bir operatör ile doğruluğu kontrol edilecekti.
eğer username=cypm and password=123456 == True yazdır 'Giriş başarılı.' değilse yazdır ' Giriş başarılı değil.'
Level 12:
Bu levelimizde ismine bakarsak aslında 11.level ile aynı tek farkı çift tırnak koymamız olacak fakat bunu aşağıda ki şekilde denediğimizde başarılı bir şekilde login olamıyoruz.
" or 1=1 --+
Bu kısımda tamamen doğaçlama yaparak sql sorgusunun hata verebilmesi için
'" (Tek tırnak + Çift Tırnak )
payloadını kullanarak hata verdirdim.
Ve orada gördüm ki parantez işaretleri bulunuyor.Yani bu demek oluyor ki kapatmamız gereken bir parantezimiz var.( Şuan belkide alıştırma dışına çıkmış bile olabiliriz )Hemen aşağıda ki payload’ı girdim.
")or 1=1 #
Ve okus pokus septimus severus ( kendisi roma imparatorudur bu arada )
Level 13 :
Geldik Double injection olan kısıma normal bir insan olsak burada kurallara , yönergelere uyarak çift sorgu ile bir şekilde bu leveli bypass edip geçmeyi düşünürdük.Değil mi ?
Ama biz normal miyiz ? Duyamadım ? Evet değiliz.
O yüzden double injection niye yazalım ki ?
Hemen yine sql sorgumuza error verdirtelim.
Gördüğünüz gibi buradada bir parantez var ve bunu kapatmalıyız.Bu arada hatayı
"'
ile verdirttim.
Hemen payloadımızı girelim ve sonuca arkamıza yaslanarak bakalım.
')or 1=1 #
Yaşasın HackerMind!
Level 14 :
Bu level de de double injection isteniyor fakat ben yine niye uğraşayım ki double injection ile ?
Tabi enes durur mu yapıştırmış payload’ı
"or 1=1 #
Level 15:
Bu levelimizde Boolian based yani Bool ifade ile giriş yapmamız isteniyor.Nedir bool ifade ?
Türkçe olarak düşündüğümüzde Doğru ve Yanlış.
Yabancılarda ise True ve False şeklinde.
Detaylı açıklama için : https://tr.wikipedia.org/wiki/Boole%27ca
Yani burada yapmamız gereken aslında level 11 de ki gibi
giriceğimiz bir ifadenin bize True döndürmesi gerekiyor.O yüzden bizim en basit true döndüren payloadımız nedir ?
1 = 1’dir.
O zaman payloadımızı yazalım.
" or 1=1 #
Veeeee aman Allah’ım o da ne ? Login olamadık.
Demek ki neymiş ? Ezbere gitmeyecekmişiz mantığını öğrenecekmişiz.Birde bana güvenmeyecekmişsiniz 🙂
Burada ki payload’ımız yukarıda ki payload değil aşağıdakidir.
' or 1=1 #
Not:Ne sizin ne de benim yazıyı okurken/yazarken sıkılmamanız için karşılıklı dialog şeklinde ve biraz laubali şekilde yazmış olabilirim.Eğer bu konu hakkında eleştiriniz vs. var ise yorum atabilir veya mail gönderebilirsiniz.
Bir daha ki yazımızda görüşmek üzere.