首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果值包含在双引号中,html转义是否足以减轻html属性中的xss。

如果值包含在双引号中,html转义是否足以减轻html属性中的xss。
EN

Security用户
提问于 2016-11-23 13:21:23
回答 1查看 2.9K关注 0票数 2

正如在Owasp输出_编码_规则_摘要中提到的,为什么我们需要转义除字母数字字符使用HTML实体&#xHH;格式转义所有字符,包括空格以外的所有字符。

如果包含在双引号(“)中的html属性,并且我们只转义五个字符,是否可以执行xss攻击?

注:独占javascript: src/href中的协议

转换& to &转换< to <转换>到>转换“转换”为“转换”

EN

回答 1

Security用户

发布于 2016-11-23 13:29:32

不,这是不可能的(但请注意,规则是关于HTML公共属性的,而href、src、样式和事件处理程序等其他属性则被明确排除在外)。

规则存在的原因在您引用的同一份文件中给出:

除字母数字字符外,使用&#xHH;格式(或可用的命名实体)转义ASCII值小于256个的所有字符,以防止关闭属性。这条规则之所以如此宽泛,是因为开发人员经常不引用属性。正确引用的属性只能用相应的引号转义。不带引号的属性可以用许多字符来划分,包括空格 %*+、-/;<=>^和x。

排除非公共属性实际上在实践中是相关的。例如,考虑到这一点:

代码语言:javascript
复制
<img src="no" onerror="alert('[some user input]')">

如果单引号只是HTML编码,攻击者可以通过');alert('1执行XSS攻击。输入将转换为');alert('1,浏览器的HTML解析器将其解析,然后将其以解码形式传递给JavaScript引擎。

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

https://security.stackexchange.com/questions/143383

复制
相关文章

相似问题

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