2011-04-01 16 views
1

我想通过浏览器插件在随机页面上显示一些框。这些框的内容也是随机的。仅限HTML的小部件是否安全?

是一个简单的检查,从上述框中移除足以提供用户安全体验的脚本?

我必须将框放入iframe吗?

我是否从HTML中剥离了附加代码? (正在删除'脚本'标签不够?)

你知道一些库可以自动执行吗?

+0

你认为安全吗?如果该方框要求用户输入他们的电子邮件密码,那么它是不安全的,并且你可以做的事情没有太多。 – Gareth 2011-04-01 15:14:56

+0

过滤出脚本比做起来容易 – 2011-04-01 15:29:10

+0

@Gareth好点。但目前我只对技术问题感兴趣 – BenoitParis 2011-04-01 15:59:01

回答

1

是否必须将框放在iframe中?

是或否,具体取决于您对安全的定义。 这不会阻止脚本启动下载恶意软件,将用户重定向到钓鱼页面,XSRFing用户当前登录的设计不佳的站点。

是一个简单的检查,从上述框中删除足以提供用户安全体验的脚本?

不是。有很多种方法来嵌入脚本,而简单的检查很少能够正确。例如,可以将脚本嵌入到链接,CSS,SVG,数据:URL等中。 请勿滚动您自己的HTML清理程序。

直接与您的有关安全HTML小部件的问题虽然是沙盒JavaScript。请参阅 http://code.google.com/p/google-caja/wiki/CorkboardDemo

+0

哈哈我正在看我刚刚5个月前从caja页面找到的你的视频(http://www.youtube.com/watch?v=apVt7vhBqj0)。我想避免caja,因为您必须控制/修改主机页面(请确认这一点)。 – BenoitParis 2011-04-01 17:55:17

+0

@BenoitParis,你的问题的答案是肯定的,但是如果你可以将HTML注入一个页面,那么你确实有权控制/修改主机页面:) – 2011-04-01 21:36:09

+0

Thanks =)我假设你在谈论http:// code.google.com/p/google-caja/wiki/HostingModules。最后一个问题:主机页面可以看到它正在托管cajoled内容,可以发布代码来加载/卸载小部件,但是它可以篡改cajoled小部件中的内容吗? – BenoitParis 2011-04-02 13:10:30

0

这一切都取决于内容来自何处以及它是什么类型的内容。

例如,如果内容只是来自您网站的文本,您可能需要过滤掉HTML以防万一。

+0

关键是要有一些不依赖于内容来自何处的内容。它应该适用于任何页面和框中的任何内容。 – BenoitParis 2011-04-01 16:06:16

1

,平面HTML仍然可能是恶意的。可以使用从任何网站加载逐个驱动。可以使用<img>标记来利用基于GET的跨站点请求伪造(CSRF)漏洞。基于POST的CSRF攻击将需要一行javascript或某些用户交互。

删除JavaScript表单html比删除脚本标记复杂得多。 HTMLPurier是由数百个正则表达式组成的,它是去除javascript的最佳方法,但它并不完美。

+0

HTMLPurier是WAF组件 - Web应用程序防火墙的一个示例。 – Christian 2011-04-02 19:39:10

+0

@Christian Sciberras不,这是不真实的。这是一个用于从HTML中删除所有javascript的PHP库,如果你不相信我,请尝试下载它。 – rook 2011-04-02 19:54:27

+0

虽然或者至少它是引擎的一部分,它的确和WAF一样。 – Christian 2011-04-02 21:51:51