鱼C论坛

 找回密码
 立即注册
查看: 2247|回复: 0

XSS之CSS expression

[复制链接]
发表于 2019-3-26 09:49:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
网页中<script>标签、元素事件、CSS表达式、支持JavaScript的伪协议均可执行脚本。

仅IE中支持CSS expression,它允许用户在CSS中计算某个表达式。这个计算是通过JavaScript来实现的。直至CSS 2.1,开发者都无法在CSS里面进行算数运算,例如width:100px+3px获取不了103px的宽度。为了消除CSS的局限性,IE5-7提供了expresson函数(即CSS表达式)。expression会执行其中的函数,并以函数的返回值作为式子的值。
<p style="x:expression(alert(1))">
可以在HTTP头中添加X-UA-Compatible或者<META>标签中指定文档模式告诉浏览器应当模拟哪个版本的IE去渲染当前页面。
<meta http-equiv="x-ua-compatible" content="IE=7" >
1987298891.png

yuange在2014年发布的VBS神洞(CVE-2014-6332),便是为了让IE11也能执行VBS,在利用代码的最开始加上了X-UA-Comatible标签让IE切换到IE8模式。
CSS expression XSS特点:

  • CSS属性不区分大小写,ExPreSsion等价于expression
  • CSS与JavaScript都支持注释符/**/,因此可以在expression表达式中插入任意注释符号,如
    x:expre/*abc*/ssion(ale/*abc*/rt(1))
  • CSS支持HTML实体编码,如
    x:expression(alert(1))
  • CSS中可以使用JS16进制编码,特殊之处在于省略了x后面的x字符,似的写法形似JS8进制,如
    <code>x:expression\28/**/alert(1)\29</code>
    Note:为了避免和后面的内容产生误解所以使用注释符/**/分隔开。在IE7上如果后面不是数字,那么会被忽略掉。
800400678.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 01:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表