- 6 May 2022
- 124
- 79
Öncelikle Merhaba Arkadaşlar
Link : Lab: SQL injection vulnerability in WHERE clause allowing retrieval of hidden data | Web Security Academy
KONU ANLATIMI:
Ürünleri farklı kategorilerde piyasaya ürün süren bir websitesi düşünün ÖRNEK :
bu kategorilendirme bir sql sorgusu yaratmasına neden olur ve bu sql sorgusuda "SELECT * FROM products WHERE category = 'Gifts' AND released = 1" böyledir
bu sql sorgusundaki released in kullanım alanı bu sitede piyasa sürülen sürülmeyen ürünler anlamında kullanılır ve piyasaya sürülen ürünleri göstermesi için sql sorgusunda released = 1 olarak çıkar eğer sql sorgusunda released = 0 olarak çıksaydı piyasa sürülmeyen ürünlerde dahil olcaktı
Bu sql sorgusunu kandırmanın yöntemleri var (Buradaki en önemli şey, çift çizgi dizisinin --SQL'de bir yorum göstergesi olması ve sorgunun geri kalanının bir yorum olarak yorumlanması anlamına gelmesidir) ÖRNEK:
bu sayede released sql sorgusunda iptal oldu ve released = 0 olarak kaldı
Daha da ileri giderek, bir saldırgan websitenin, bilmediği kategoriler de dahil olmak üzere herhangi bir kategorideki tüm ürünleri göstermesine neden olabilir ÖRNEK:
Değiştirilen sorgu, kategorinin Hediyeler olduğu veya 1'in 1'e eşit olduğu 1=1tüm öğeleri döndürür. Her zaman doğru olduğundan, sorgu tüm öğeleri döndürür.
Şimdi konu anlatımından sonra labı çözeceğiz.
Labta verilen siteye giriyoruz.
Siteye girdik şimdi bi sql sorgusu yaratmak için bi kategoriye giriyoruz
Gift kategorisine girdik ve şimdi sql sorgusunu kandırmak için urlnin sonuna "'--" ekliyoruz ve released = 0 oluyor bu sayede piyasaya sürülmemiş ürünleride görebiliyoruz 1.görevimiz tamamlanıyor
şimdi bi kategoride bütün ürünleri görmek için urlmizin sonuna " '+OR+1=1-- " ekliyoruz ve labımız tamamlanıyor
İYİ GÜNLER DİLERİM