data与state的区别,data访问权限怎么解释

首页 > 实用技巧 > 作者:YD1662024-01-27 12:11:50

但是当在前面加上 <svg> 后,却成功弹窗了:

<svg><script>alert("xss")</script> <svg><script>alert(1)</script> <svg><script>alert(1)</script>

data与state的区别,data访问权限怎么解释(17)

data与state的区别,data访问权限怎么解释(18)

data与state的区别,data访问权限怎么解释(19)

这是为什么呢?

是因为 <svg> 标签属于HTML五大元素中的外部元素,可以容纳文本、字符引用、CDATA段、其他元素和注释,也就是说在解析到<svg> 标签时,浏览器就开始使用一套新的标准开始解析后面的内容,直到碰到闭合标签</svg>。而在这一套新的标准遵循XML解析规则,在XML解析中,实体编码会自动解码成相应的字符,重新来一遍标签开启状态,此时就会执行XSS了。如下图,弹窗后我们查看页面源码。发现原本不能被HTML解码的内容被 <svg> 标签自动解码了:

data与state的区别,data访问权限怎么解释(20)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.