在XML中使用CDATA元素是否容易受到攻击?

前端之家收集整理的这篇文章主要介绍了在XML中使用CDATA元素是否容易受到攻击?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
XML文档中使用CDATA元素是否易受攻击?如果是这样,如果我们在XML文档中使用CDATA元素会发生什么?
我不知道你的’漏洞’是什么意思,但很多人用CDATA部分做错了.当懒惰的程序员不能真正理解文本转义时,会发生这种情况,并试图避免在XML中正常编写特殊字符的过程.他们认为他们可以逃脱:
print "<element><![CDATA["+textstring+"]]></element>";

虽然这确实会阻止<或者& texttring中的字符被视为标记,它不是防水的,因为textstring可能包含一个]]>序列,导致:

<element><![CDATA[ Foo ]]> <bar>I'm an unexpected element!</bar> ]]></element>

这是一个XML注入,像HTML注入一样可能会产生类似XSS的安全性影响.

所以你仍然需要逃避CDATA中的一些序列(通常,你会在两个CDATA部分之间拆分]]>序列.在实践中,使用CDATA不仅仅是以正常的方式对文本内容进行编码.所以真的没有理由使用CDATA部分.

猜你在找的XML相关文章