javascript - xss javascript 保护

标签 javascript jquery jquery-ui xss

所以我正在使用 jQuery UI 库打开新的对话框窗口,当新的对话框窗口打开时我传递了一些这样的参数

<a href="http://www.mysite.com/custompage.html?width=100&height=200&param1=abc&param2=http://www.anothersite.com&param3=custom3">open modal</a>

该网站运行良好,完全没有问题,我的 custompage.html 只是选取了那些传递的值并在页面上使用它们,如下所示:

var a = customfunctionget(param1); var b = customfunctionget(param2)....

我刚刚收到一份报告,我们很容易受到跨站点脚本攻击,将任何参数替换为如下内容:

><script>alert(123)</script><param 

我理解正确应该发生什么但是在我尝试注入(inject)脚本的任何浏览器上永远不会显示警报因此“脚本/注入(inject)”没有被处理,custompage.html 停止工作因为我们需要正确输入值,但在这方面我无能为力。

这里有我想念的神奇药丸吗?我发现的大多数 XSS 信息都做同样的事情,尝试通过标签注入(inject)警报,但如果参数格式不正确,我会拒绝显示任何内容,我不知道还能做什么。

欢迎任何建议和教程。

最佳答案

可以对所有 < 进行编码的最简单的事情之一, > , 和 &带有 &lt; 的字符, &gt; , 和 &amp; , 分别。每当浏览器看到 <something>它认为它是一个 dom 元素。如果您对这些字符进行编码,浏览器将实际显示它们。这将挫败试图执行 <script>badstuff</script> 的人在您的网站上。

请注意,人们将无法执行添加 <b> 之类的操作如果您这样做,请给事物添加标签。

上述建议只是第一步,但绝不是详尽无遗的。

我刚刚找到这个,它看起来像一个 good guide .

关于javascript - xss javascript 保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9004946/

相关文章:

javascript - 如何在 Sharrre 插件中隐藏总分享数?

jquery - 如何在 jquery 中更改表格的文本?

javascript - 使用 Grunt 连接和丑化来自两个不同来源的 JS 文件

javascript - 类似于 Groupon 的位置搜索

javascript - 带有授权 header 的 Ajax GET

javascript - 使用默认值进行级联选择

javascript - 加载 JSON 作为 HTML 中的资源以避免引导 ajax

javascript - JQuery UI 可调整大小/#constrain-area -> 约束不小于子 div 元素

javascript - jQuery:如何在创建时自动将元素转换为 UI 小部件?

javascript - 异步函数后如何检索结果?