Herkese Selam Ben Rapx13 buda 0'dan XSS öğrendim serinin 5. bölümü ve sondan 1 önceki bölümü umarım size bir şeyler katarım.
İyi Okumalar.
Bugün DOM tabanlı XSS'i derinlemesine olmasada öğreniceğiz çünkü artık fosil oldu diyebiliriz.
Adım-5 DOM tabanlı XSS'i öğreniyoruz.
Ön konuşma: beyler bu açık artık eskidi bakarsanız her ay yeni xss türleri çıkıyor ama bu öyle değil çünkü bu tür sadece tarayıcı üzerinden olduğu için ve tarayıcılarda sabit değilde dinamikleştiği için bu tür iflas etti.
DOM nedir ?
DOM = bir web belgesini ağaç olarak temsil eden bir programlama arabirimidir.
aşşağıda ağaç verince noluyo be demeyin
ayrıca DOM JavaScript kullanarak bir web sitesinin farklı bölümlerine programlı olarak erişmeyi ve bunları değiştirmeyi mümkün kılmaktadır.
size bunu göstermek için sabit html koduna sahip bir koddan göstereceğim webde göstermek imkanszı gibi bir şey.
Bu kodun ağacına yani DOM'una bakarsak
|
Ağaç düğüm ile başlar ve dallanır ve . Düğüm ve içine dallanır. , birkaç etiket ve bir . Bu basit örnekte, bir ve ikiye ayrılan bir tekliye sahiptir. Bu kısa bir sayfadır. Daha pratik sayfaların onlarca veya yüzlerce dalı olurdu. (ctf'in tanımı)
Açıklı olan kod:
Açıklı olan kod:
| <!DOCTYPE html> <html> <head> <title>Vulnerable Page</title> </head> <body> <div id="greeting"></div> <script> const name = new URLSearchParams(window.location.search).get('name'); document.write("Hello, " + name); </script> </body> </html> |
Beyler anladığım kadarıyla javadan çok anlamasamda name parametresini alıp document.write parametresiyle birlikte kullanması yanlış
Doğru Kod :
Doğru Kod :
| <!DOCTYPE html> <html> <head> <title>Secure Page</title> </head> <body> <div id="greeting"></div> <script> const name = new URLSearchParams(window.location.search).get('name'); // Escape the user input to prevent XSS attacks const escapedName = encodeURIComponent(name); document.getElementById("greeting").textContent = "Hello, " + escapedName; </script> </body> </html> |
const name = new URLSearchParams(window.location.search).get('name');
bu satır kullanıcı xss saldırılarından kaçınmak için var kullanıcı girişini yasaklıyor bu yüzden ağacı değişmiyor sitenin.
göründüğü üzere xss scrptini yazarsak onu engelliyor.
sorulara geçelim.
1. soru : DOM tabanlı XSS, sunucu üzerinden mi yansılıtır ? (evet yada hayır)
2. soru : DOM tabanlı XSS yalnızca istemci tarafında mı gerçekleşir ? (evet yada hayır)
3. soru : Kullanıcı girişinden kaçmak için hangi JavaScript yöntemi kullanıldı? (yukarıda verdim.
Cevaplar:
Evet bu son bölüm olarak sayılabilir ufak bir yer daha var hayırlısıyla bu seyide bitiriceğim.
İyi Forumlar Dilerim.

