Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 如何防止XSS的错误标记_Security_Xss_Filtering_Htmlpurifier_Malformed - Fatal编程技术网

Security 如何防止XSS的错误标记

Security 如何防止XSS的错误标记,security,xss,filtering,htmlpurifier,malformed,Security,Xss,Filtering,Htmlpurifier,Malformed,我读到一篇关于用于XSS攻击的格式错误的标签的评论。我该如何对这些进行消毒呢。如果我使用像HTMLPurifier这样的库,它会将此作为其工作的一部分吗?或者这是一件独立的事情?我没有听到人们谈论太多。HTMLPurifier实际上会为XSS进行净化。HTML净化器设计理念的一部分是只输出符合标准的HTML,以最小化浏览器解释中的差异。因此,HTML净化器将永远不会输出格式错误的标记。在这种情况下,HTMLPurifer是一种过度杀伤力。如果XSS在一个标记中,那么您可以插入一个javascri

我读到一篇关于用于XSS攻击的格式错误的标签的评论。我该如何对这些进行消毒呢。如果我使用像HTMLPurifier这样的库,它会将此作为其工作的一部分吗?或者这是一件独立的事情?我没有听到人们谈论太多。

HTMLPurifier实际上会为XSS进行净化。

HTML净化器设计理念的一部分是只输出符合标准的HTML,以最小化浏览器解释中的差异。因此,HTML净化器将永远不会输出格式错误的标记。

在这种情况下,HTMLPurifer是一种过度杀伤力。如果XSS在一个标记中,那么您可以插入一个javascript事件,而无需
。最近。答案是使用
htmlspecialchars($var,entu QUOTES)

在这个时代,为了完全保护自己不受XSS攻击,您需要将HTML净化器提供的黑名单改为白名单。不仅如此,如果放入错误的上下文,甚至
htmlspecialchars($var,entu QUOTES)对你没有帮助,因为有很多方法避免使用HTML标签和引号(StrugFuffar,使用反斜杠),你还必须考虑不同的浏览器字符集,这可能允许在UTF7<代码> \Adw脚本+AD4警报(/XSS/)+ADW/Script +AD4----//-< /Cord>中执行此攻击。虽然HTMLPurifier确实有很大的开销,但它是一种简单的非技术性方法来防止XSS攻击(尽管他们的过滤器中也有漏洞,我相信也会有漏洞)。

你能举一个用于XSS攻击的这些格式错误的标签的例子吗?是的,这就是它的用途,但是格式不正确的标签呢?它应该会处理它。