深入理解浏览器解析机制和XSS向量编码

URL 编码 "javascript:alert(1)"---->%6a%61%76%61%73%63%72%69%70%74:%61%6c%65%72%74%28%31%29

aaa-------浏览器解析不了。
页面识别在url解码之前,在识别标签和属性的时候还没解码,页面就不认识这串编码,不会把它们当作 JS 代码执行

页面识别的时候,已经进行HTML实体解码,变成了aaaaa浏览器会识别它为可执行JS代码。
页面的解析顺序:html实体编码---->urlencode---->unicode

不能识别
因为“:”被url编码了,javascrip:才能被浏览器识别为可执行JS代码。
<img src=x onerror=alert(4)>
---HTML字符实体编码 < 和 > 能解码但是无法解析 把“<”和“>”HTML实体编码后不会进入标签开始状态(涉及到html的状态机制)
-----无法解析
RCDATA元素(RCDATA elements),有