我想通过浏览器插件在随机页面上显示一些框。这些框的内容也是随机的。仅限HTML的小部件是否安全?
是一个简单的检查,从上述框中移除足以提供用户安全体验的脚本?
我必须将框放入iframe吗?
我是否从HTML中剥离了附加代码? (正在删除'脚本'标签不够?)
你知道一些库可以自动执行吗?
我想通过浏览器插件在随机页面上显示一些框。这些框的内容也是随机的。仅限HTML的小部件是否安全?
是一个简单的检查,从上述框中移除足以提供用户安全体验的脚本?
我必须将框放入iframe吗?
我是否从HTML中剥离了附加代码? (正在删除'脚本'标签不够?)
你知道一些库可以自动执行吗?
是否必须将框放在iframe中?
是或否,具体取决于您对安全的定义。 这不会阻止脚本启动下载恶意软件,将用户重定向到钓鱼页面,XSRFing用户当前登录的设计不佳的站点。
是一个简单的检查,从上述框中删除足以提供用户安全体验的脚本?
不是。有很多种方法来嵌入脚本,而简单的检查很少能够正确。例如,可以将脚本嵌入到链接,CSS,SVG,数据:URL等中。 请勿滚动您自己的HTML清理程序。
直接与您的有关安全HTML小部件的问题虽然是沙盒JavaScript。请参阅 http://code.google.com/p/google-caja/wiki/CorkboardDemo
哈哈我正在看我刚刚5个月前从caja页面找到的你的视频(http://www.youtube.com/watch?v=apVt7vhBqj0)。我想避免caja,因为您必须控制/修改主机页面(请确认这一点)。 – BenoitParis 2011-04-01 17:55:17
@BenoitParis,你的问题的答案是肯定的,但是如果你可以将HTML注入一个页面,那么你确实有权控制/修改主机页面:) – 2011-04-01 21:36:09
Thanks =)我假设你在谈论http:// code.google.com/p/google-caja/wiki/HostingModules。最后一个问题:主机页面可以看到它正在托管cajoled内容,可以发布代码来加载/卸载小部件,但是它可以篡改cajoled小部件中的内容吗? – BenoitParis 2011-04-02 13:10:30
这一切都取决于内容来自何处以及它是什么类型的内容。
例如,如果内容只是来自您网站的文本,您可能需要过滤掉HTML以防万一。
关键是要有一些不依赖于内容来自何处的内容。它应该适用于任何页面和框中的任何内容。 – BenoitParis 2011-04-01 16:06:16
否,平面HTML仍然可能是恶意的。可以使用从任何网站加载逐个驱动。可以使用<img>
标记来利用基于GET的跨站点请求伪造(CSRF)漏洞。基于POST的CSRF攻击将需要一行javascript或某些用户交互。
删除JavaScript表单html比删除脚本标记复杂得多。 HTMLPurier是由数百个正则表达式组成的,它是去除javascript的最佳方法,但它并不完美。
你认为安全吗?如果该方框要求用户输入他们的电子邮件密码,那么它是不安全的,并且你可以做的事情没有太多。 – Gareth 2011-04-01 15:14:56
过滤出脚本比做起来容易 – 2011-04-01 15:29:10
@Gareth好点。但目前我只对技术问题感兴趣 – BenoitParis 2011-04-01 15:59:01