Merhabalar daha önce 0-5 level arasını şurada ki linkte paylaşmıştık.

Bugün ise bir seri şeklinde 6-10 level arasını birlikte çözeceğiz.

Level 6 :

Bu levelimiz aslında level 5 ile aynı tek farkı ” ‘ ” kullanmak yerine ” ” ” kullanmamız.

Level 5 için : https://canyoupwn.me/sql-i-labs-walkthrough-basic-0-5

1"+and(select 1 FROM(select count(*),concat((select (select concat(database())) FROM information_schema.tables LIMIT 0,1),floor(rand(0)*2))x FROM information_schema.tables GROUP BY x)a) --+



Level 7 :

Bu levelde bizden sorgularımızı biz dosyaya aktarmamızı istiyor.Aslında buna mecbur bırakıyor yoksa biz tabi ki basit yolu seçmeyi isteriz.

Burada ki payloadımızda ilk baş bi tek tırnak ile deneme yapalım isterseniz.Biz tek tırnak attığımızda hata vericektir.Doğru bir yolda gidiyor gibi duruyoruz.

select * into dumpfile "hebelehubele.sql"

Bizde şu sorguyu gerçekleştiriyoruz.

1'union select 1,2,3 into dumpfile "hebelehubele.txt"

Yukarıda ki sorguyu kullandığımızda bize hiç bir çıktı vermediğini görüyoruz.Demek ki bi yerlerde hata yapıyoruz.Evet hatanın sebebini buldum fakat bunu deneme yanılma yöntemiyle değil hileye başvurarak buldum.

Nedir bu hile ? : Kaynak kodlarına bakmak.Gerçekte böyle bir senaryo ile karşılaştığınızda bu imkanınız elinizde bulunamayabilir.

Burada sitenin sorgusunun içinden aşağıda ki şekilde çıkmamız gerekiyor.

1')) sorgunuz

Bu şekilde sorgu içinden çıktıktan sonra artık sorgu sonucunu bir dosyaya yazdırabiliriz.

1'))union select 1,2,3 into dumpfile "/tmp/mirkelam.txt"--+

Level 8 :

İlk önce tek tırnak atalım.Gördüğünüz gibi you are in yazısı kayboldu.

Şimdi burada amacımız burada sql injection olduğunu kanıtlamak.Bunun içinde sorgu denemeleri yapıcaz ve sorguyu kontrol edebiliyor muyuz ? Bunu kontrol edicez.

1'and 1=1 --+

Yaptığımızda bize yine you are in yazısını göstericek.Belki kod da bi yanlışık vardır sorguyu yine kontrol edebiliyor muyuz deneyelim.

1'and 1=2 --+

Yukarıda ki payload’ı girdiğimizde you are in yazısı yine kayboldu demek ki neymiş biz sorguyu kontrol edebiliyormuşuz.



Level 9 :

.

Level 8 e benzer bir yapısı var bu levelinde tek farkla level 8 de 199 gibi id ler girdiğimizde bize hiç bir text dönmüyordu.Fakat level 9 da bu şekilde değil.

?id=500000

yazarsanız hala aynı şekilde durduğunu göreceksiniz.

Burada yine körlemesine dalıyoruz ve şu payloadı yazıyoruz.

?id=1'and sleep(10) --+

Bu payload ı yazıp enterladığınızda sayfa 10 saniye kadar ( fazlada olabilir emin olamadım şimdi 🙂 ) beklemeye geçicek bu da ne demektir ? Burada sql injection var demektir.

Level 10 :

Bu levelimiz level 9 ile aynıdır.Tek fark ” ‘ ” yerine ” “(çift tırnak) ” kullanıyor oluşumuz.

Payloadımız

1"and sleep(10) --+