HTML中,闭合优先的神奇标签

https://mp.weixin.qq.com/s?__biz=MzAxNDY2MTQ2OQ==&mid=2650942821&idx=1&sn=8dc047dbb05db818d4b910c51c8811a1&chksm=80796f57b70ee6411190f963d8ec73428e3706a3c78b89650e3a13445474106acc95f2a1707b#rd


  noframes 


先看一段 HTML:


HTML中,闭合优先的神奇标签_第1张图片


不过是展示了一张图片而已。用浏览器打开看看。

HTML中,闭合优先的神奇标签_第2张图片


咦?怎么弹框了?看看浏览器处理的源码。

HTML中,闭合优先的神奇标签_第3张图片


原来,img 标签 src 属性里的 \,跳过了 \ 标签和 src 属性,把外层的 \ 给闭合了,导致 src 后半部分的 script 标签被解析成了 HTML,从而触发了弹框。

这可奇怪了。\ 明明在双引号里面,怎么就跨越了 src 属性跨越了 \ 标签,漂洋过海地把外层的 noframes 标签给闭合了?难道说,\ 标签有一种特殊的魔力。它的闭合优先级,高于双引号的完整性优先级,高于嵌套在内层的标签的闭合优先级。

还有其他标签也有这样的魔力么?我们 fuzz 一下看看。

  fuzz 找找 


从 w3school 找到所有的 HTML 标签:

HTML中,闭合优先的神奇标签_第4张图片


整理成 tags.txt。

HTML中,闭合优先的神奇标签_第5张图片


按照前述 noframes 的格式,依次把他们输出到 show.html 中。

HTML中,闭合优先的神奇标签_第6张图片


执行,打开 show.html 看看效果。

HTML中,闭合优先的神奇标签_第7张图片


现在我们知道,这些标签都是闭合优先级高于双引号完整性优先级的特殊标签。


  • \

你可能感兴趣的:(渗透)