网站脚本注入扫描

时间:2010-08-10 11:25:58

标签: javascript security web xss

是否有人知道任何脚本注入扫描程序能够检测到您的网站是否已被入侵(即已经注入的javascript应该不存在)?

3 个答案:

答案 0 :(得分:2)

很难:您需要测试应用程序的每个URL并检查回复中是否存在特定模式(并且很难有一个好的算法可以理解哪些是好的和坏的javascript,或者你需要配置这个扫描仪,这可能很长而且很棘手。)

服务器端有一个名为mod security的实时开源解决方案。它是一个Web应用程序防火墙:它可以检测请求和/或响应中的特定模式。它适用于作为模块的apache。这主要是生产解决方案,并且在开发期间不检测注入。此外,您需要一些经验来调整它(与我们的客户进行数据交换的好处和错误),这可能很棘手,无法防范新的攻击或更智能的攻击(例如重新编码字符)。

顺便说一句,另一个解决方案是使用Content Security Policy,但它并非在所有浏览器中都可用(嗯,目前没有人,等待Firefox 4; - )。

答案 1 :(得分:1)

你做不到。 因为糟糕的脚本在到达浏览器时总是能够重写/中和扫描仪功能。
您的服务器无法控制页面中发生的事情。

有一种简单的方法可以保护您的网页免受注入:使用iframe指向服务器上不同的子域或端口,放置所有不受信任的内容。
您将获得沙盒iframe的同源策略,并阻止访问父页面的资源。

然后您可能希望在iframe和主页之间安全通信。
如果您定位现代浏览器或手机,则可以使用window.postMessage发送字符串消息。
对于旧版浏览器,有一些技巧here is a blog post with a solution

这不能保护您免受跨站点脚本攻击,但这是您可以在父页面中使用秘密令牌解决的另一个问题。

答案 2 :(得分:0)

StopBadware小组提供免费扫描服务。谷歌和Mozilla依赖这项服务,因为他们的“此网站可能会损害您的计算机”警告。

此处提供扫描服务: http://www.stopbadware.org/home/reportsearch

有关保护您网站的详细信息,请访问: http://www.stopbadware.org/home/security