2014-09-01 35 views
5

Ben modern tarayıcılarda CSS Stil XSS almak için herhangi bir yolu olup olmadığını bilmek istedi?Modern tarayıcılarda CSS XSS almanın bir yolu var mı?

<div style="width:expression(prompt('XSS'))"> 
+0

HTML (örn) metin ve stil özelliği için kullanılan verilerin dinamik olarak inşa edilirse o zaman HTML enjeksiyon hala mümkün kaçan değildir; ama sanırım bunun ne olduğu sorulmuyor. – user2864740

+0

Bunu ne için kullanmayı düşünüyorsunuz? Alternatifler olabilir. – easwee

cevap

3

bu örnek mükemmel görüldüğü üzere, JavaScript (veya herhangi bir komut dosyası) CSS yeri yoktur sayılı nedenle XSS (ikinci S:

Örneğin, eski IE üzerinde aşağıdaki duyarlı olduğunu tarayıcıları 'Scripting' için) mümkün değildir. CSS yalnızca bildirimsel olmalı ve W3 standartlarına uygun olarak uygulanmalıdır. Dinamik ifadeler, yalnızca JS motoruna başvurmadan yalnızca basit matematiksel ifadeleri değerlendirebilen calc ile yapılmıştır.

expression

W3 bir alternatif ile geldi dek bir IE okunur özgü özellikleri kolaylaştırmak için kesmek oldu. calc göründüğünde, expression kullanımdan kaldırıldı. IE11, expression is no longer supported in the Internet Zone ile başlayarak. Bu spesifik çekirdek nedenlerinden biri olarak 'saldırı yüzeyini azaltmak için' gerekçe, bu şekilde sona ereceğini announced in 2008 oldu. IE11 daha eski sürümlerinde zaten sadece tuhaflıklar modu ve IE7 emülasyon modu zaten desteklenen uzunca bir süre olmuştur.

Özetleme: CSS Javascript yer yoktur ve bu tür XSS saldırıya edilemez olarak her akım tarayıcıda olduğu gibi düzgün bir şekilde uygulandığı zaman.

+0

"mümkün değil" veya "IE'de mümkün değil" ("mümkün değil" ifadesinin tersi). – user2864740

+1

Söylendiği gibi, kamu alanlarında "ifade" desteği tamamen IE11'de düşürülmüştür ve bazı yıllar boyunca ciddi şekilde sınırlanmıştır. Bu nedenle, kısıtlama hataları ve bilinmeyen istismarlar, mümkün olmamalıdır. –