我负责公司应用程序菜单页面(仅限Intranet)。它包含许多资源链接(网页和已安装的应用程序),并为当前用户量身定制。
过去,我使用applet允许直接从浏览器启动已安装的应用程序。
公司网络正在进行改造,我被告知找到一个不需要任何插件的解决方案。
我的第一次尝试是注册自定义协议处理程序。菜单提供程序包含所有链接和应用程序命令的定义,每个用户具有不同的权限。我可以想象,当为用户创建菜单时,命令可以编码并添加为custom://base64encodedcommand
之类的内容。处理程序将解码命令,执行检查并执行它。
这适用于IE,FF和Chrome。目前,我们主要使用Windows工作站,它只能在公司内部网中使用。
这是一种可行的方法吗?有安全问题吗?
答案 0 :(得分:1)
不幸的是,通过任何解决方案,只能证明漏洞的存在,而不是缺乏漏洞。但是有一些必要条件,但还不足以让你的系统更能抵御攻击。
目前,您对base64编码执行字符串。这绝不会增加安全性。即使你选择了一些不同的方法,这只是通过默默无闻的安全性,并且很容易被有足够时间的人逆向设计。
您可以做的是设置某种公钥 - 私钥签名。因此,您可以使用自己的私钥对每个链接进行签名,这意味着允许执行此链接,甚至不应解码没有签名或无效签名的链接。
那么你所拥有的是custom://
+ base64link
+ separator
+ base64signature
。
要记住的事情:
我再说一遍,虽然这可以被认为是安全所必需的,但这还不够。所以继续考虑其他可能的攻击。</ p>