我正在写HTML报告关于XML注入攻击。因此,我将(HTML)内容作为HTML的内容。因此,我试图将我的HTML内容封装在CDATA块中,但似乎确实正在渲染。为什么我的HTML中的CDATA部分没有渲染?
我有(validated by W3C)文件:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>report</title>
</head>
<body>
<div><![CDATA[AuthType=<META HTTP-EQUIV="Set-Cookie" Content="USERID=<SCRIPT>alert('XSS')</SCRIPT>">]]></div>
</body>
</html>
从我的Wikipedia article这个的理解意味着内容应该是“标记为解析器来解释,因为只有字符数据,而不是标记”。所以输出应该是
AuthType=<META HTTP-EQUIV="Set-Cookie" Content="USERID=<SCRIPT>alert('XSS')</SCRIPT>">
然而,在这两个Chrome 21.0.1180.60 m
和Firefox 14.0.1
都呈现为
]]>
这是怎么回事?屏幕上不应该显示从<![CDATA[
到第一个]]>
的所有内容,就好像每个角色都已经逃脱一样?
可能重复http://stackoverflow.com/questions/3880644/how-to-use-cdata-in-html-documents – sundar 2012-08-07 17:34:23