首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Appscan在CSS属性名称或属性值之间插入反斜杠,并将其标记为跨站点脚本问题

Appscan在CSS属性名称或属性值之间插入反斜杠,并将其标记为跨站点脚本问题
EN

Stack Overflow用户
提问于 2013-12-12 18:26:26
回答 1查看 77关注 0票数 0

我们最近在PHP项目上运行了Appscan。扫描报告指出""style =font-family:expression(alert(3614))!是一个问题,因为如果我将此字符串作为URL值传递,则会收到警报。

所以我写了一个正则表达式来解决这个问题,这个正则表达式是:/[\s]*\bstyle[\s]*=[\s]*[^:]*:[\s]*expression\b/i

/[\s]*\bstyle[\s]*=[\s]*[^=]*=[\s]*expression\b/i来解决更多的问题。

现在我再次运行scan来检查我的代码是否工作正常,这一次appscan报告了类似的问题,但是在字符和问题之间嵌入一个反斜杠是:

""style =font-family:expres\sion(alert(3614))!

请注意,在表达式字符串的“%s”之间插入了反斜杠。

我有一些疑问,请澄清一下。

代码语言:javascript
复制
#myDiv {
    background-color: red;
    height: expression(document.body.offsetHeight);
} 

等同于

代码语言:javascript
复制
#myDiv {
    back\g\r\o\u\nd-color: red;
    height: e\x\p\res\s\i\on(document.body.offsetHeight);
} 

除了'e‘或'b’或'a‘或'c’前面的反斜杠

上面的CSS代码在使用和不使用反斜杠的情况下产生相同的输出。有人能解释一下这个问题是什么吗?我如何解决这个问题,让Appscan感到满意

EN

回答 1

Stack Overflow用户

发布于 2015-06-16 00:14:18

AppScan测试了许多不同的变体(有效负载),以确定是否存在相同的问题。我相信您在这里看到的是,其中一个变体没有使用您定义的regexp进行过滤。导致了肯定的发现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20540883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档