Sevgili THT Ailesi bir süre sonra tekrar karşınıza çıkmış bulunmaktayım bu severki konumuz bir web zafiyet olan en kritik saldırı mantığını ve ne olduğunu anlatacağım. Konuyu uzatmadan başlayalım.
Devtools Nedir?
İlk önce bu kelimeyi ve ne olduğunu öğrenmemiz lazım arkadaşlar. Aslında tarayıcınıza ait web geliştirici aracıdır yetki kontrolü olduğunda sayfalar düzenleyip kontrol sağlayabilir site üzeriden. Aslında web zafiyetide burdan çıkıyor basit siteler veya çokta uğraşılmamış sitelerde fazlaca bulunan kritik bir açıktır ve öyle çokta bilmenize gerek yok arkadaşlar aşırı kolay bir zafiyet sadece siteyi tutturmak lazım.
Devtools Nasıl Girilir?
Veya direk sağ tıklayıp incele kısmına gidersenizde devtools açmış olursunuz karşıza garip karışık bir menü açılacaktır örnek olarak aşağıdaki resim.
Bu resimde gördüğünüz Elements aslında sitenin kemiklerini yani HTML ile CSS görmemizi sağlar. Burdanda sızıp siteye bir yükleme bağlantısını ekleyip zararlı dosya ekleme bilir ancak bu bir sonraki konu olsun.
Console bizim için en önemli kısım bizim zafiyetimizi burdan bulup sızma işlemini burdan gerçekleştireceğiz. Console aslında CMD gibidir kod çalıştırma ve hata ayırt etmemize yardımcı olur aslında geliştiriciler için tasarlanan bir durum şuan kötü amaçla kullanılıyor.
Sources ise arka plandaki dosyaları göstermeye yarayan bir durum js, css, HTML gibi şeyleri arka planda çalışan başka şeylerde eğer açık varsa birçok bilgi sömüre biliriz burda kaydedilen API ve hatta password değerleri bile karşımıza çıkabilir.
Network istek atıp istek almaya yarayan bir durum misal diyelim ki arkadaşlar login istediği yolladık burda karşımıza tekrar login istediği bize dönecektir burda ise yine tehlikeli olan Man-in-the-Middle Attack saldırısı yani kullanıcı ile sitenin arasına girer bir saldırı türü ve değerleri değiştirip bilgileri ele geçirebilir.
Broken Access Control Nedir?
Site üzerinden kendimize yetki vermemize sağlayan bir açık zafiyet türüdür.
Şimdi hepsine anladık peki gelelim asıl saldırı türüne aslında üsteki 4 tane anlatımının hepside bu saldırı türü sitede zafiyet varsa 4 yöntem ilede yetki yükseltme durumu yapılabilir. Günümüzde sıkça görülen bu açığı sömürmek sadece 4 basit yöntem ile gerçekleşiyor tabi varsa zafiyetimiz.
Zafiyet İçin Aşamalar
Şimdi ilk önce aşama aşama birlikte bir siteyi tarayacağız sitenin ismini vermeyeceğim özel durumlardan dolayı ilk önce şunu bilmemiz lazım "Site bana ne veriyor ve yetkimiz ne kadar?" Bunlara bakmak içinde ilk siteye bazı yerlerini kontrol etmemiz gerekiyor.
Açık Değişkenleri Kontrol Etme Aşaması;
Safyadaki değerlere bakmanıza yarıyor ilk önce
"window"Yazıyoruz
Karşımıza zibilyon tane birçok içerik çıkıyor ad çıkıyor bende 200+ sizde değişiklik gösterebilir. Burdan ise bize lazım olan users ve yetki bilgileri şimdi ise karşımıza çıkan değerlerden.
window.userwindow.currentUserwindow.authwindow.appUserArayacağız.
Gördüğümüz gibi karşımıza çıkmadı eğer çıksaydı users değerli içinde bizde users gibi durumlar yazacaktı eğer hiçbir şey çıkmaz veya benzeri bir durum çıkarsa bu sefer ise local kısma gideceğiz.
console.table(Object.entries(localStorage));
Karşımıza localstorge değerleri çıkaracaktır çıkmaya bilir bu durumda üzülmeyin hemen bu sever.
Çıkma durumda aşağıdaki kısma
geçin.
Bunun gibi;
Eğer olmazsa bu değeri yazınız.
console.log(JSON.parse(localStorage.getItem('user')));
Yazıyoruz bu sever direk user kısmına odaklanıyoruz.
Evet gördünüz gibi tarayıcıdaki localStorage’dan user verisini alıyor.
Yani konsola yazdırmıyor potansiyel bir açık olabilir anlamı taşır şimdi ise gerçekten isAdmin tarayıcıda saklanıyor.
Ardından kendimize yetki verelim.
let userData = JSON.parse(localStorage.getItem('user') || '{}');userData.isAdmin = false;userData.role = "user";userData.permissions = ["read"];[SIZE=5]localStorage.setItem('user', JSON.stringify(userData));[/SIZE]Bunu yazınca ek yazılar çıkarsa F5 basıp sayfalı yenilediğimiz durumda artık admin olabiliriz demiyelim.
Maalesef burada Backend kontrol ediyor yani ulaşamadık 1'ci Zafiyetimiz bulunmamaktadır.
Üzülmeye gerek yok arkadaşlar daha 3 tane zafiyetimiz var. Bunları da başka konuya saklayalım bu zafiyetimiz en basit ve kolay olandı çok iyi ilerlesek bile engelledik aslında hale sitede potansiyel açık bulunmaktadır ama herkes kendi çapında.
Bugün sizlere görselli şekilde devtools ile yetki yükseltmesi zafiyetimini göstermeye çalıştım saygılarımla ile Zindex.
Son düzenleme:



