IE中利用CSS触发XSS

1. CSS介绍
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。IE中利用CSS触发XSS_第1张图片
IE中利用CSS触发XSS_第2张图片

2. CSS中执行js
css expression(css表达式)又称Dynamic properties(动态属性)是早期微软DHTML的产物,以其可以在Css中定义表达式(公式)来达到建立元素间属性之间的联系等作用,从IE5开始得到支持,后因标准、性能、安全性等问题,微软从IE8 beta2标准模式开始,取消对css expression的支持。

实际应用

早期很多开发人员利用css expression实现了许多效果,比如将元素相对鼠标指针进行定位,根据一个定时器来移动元素等等。当然这些效果能够使用js来实现。

虽然css表达式问题很多,但是我们依然能够在网上看到它们的影子,甚至在一些成熟的商业网站上。最常见的一个应用就是悬浮在页面上的某个模块(比如导航、返回顶部)。

3. 注释绕过关键字过滤
CSS中的注释 /**/

绕过对关键字expression的过滤。 ex/**/pression

IE中利用CSS触发XSS_第3张图片

4. Payload触发XSS

Payload: xss:expres/**/sion(if(!window.x){
     alert(document.domain);window.x=1;}) 

IE中利用CSS触发XSS_第4张图片

你可能感兴趣的:(web安全,脚本语言,css,html,js,css3)