当“被编码时,CSS中的XSS?

信息安全 xss
2021-09-08 22:15:20

我试图让 XSS 在一个站点上工作。它允许我编辑 CSS,然后将其包含在网页源中,但它不允许我使用 " ,只有 ' 。源是这样的:

body {
  margin: 0;
  padding: 0;
  background-color: #EFEFEF;
  overflow: hidden;
  font-family: Arial, Helvetica, sans-serif;
}

如果“被阻止,则不能利用 CSS 中的 XSS。谢谢

1个回答

此策略可能会防止出现双引号style属性,如

<div style="payload goes here">

或者如果这个 CSS 存储在数据库中,它可能是一个 SQL 注入过滤器。

不过,要回答您的问题,是的,您仍然可以用单引号攻击 CSS 本身

margin-left:expression('alert(1337)')

这将适用于 IE7 及更早版本或一些更新的 IE 怪癖模式,它不会阻止您嵌入对 CSS 可见的双引号,如

margin-left:expression('alert(\22 pwned\22)')