注:此问题已办理并推送给了LastPass用户。
仅仅通过访问一个网页,就能盗取所有的密码。这个糟糕的是真的吗?在我决定检测一下LastPass这个浏览器扩展的安全性之前,这也是我所想的。
对付那些不理解的人,LastPass是天下上最盛行的密码管理器之一。
我开始把稳到,我访问的每一个页面,都被扩展添加过一些HTML代码,因此我决定深入研究他有什么功能。几杯咖啡后,我创造一些非常糟糕的事情。
问题
在自动添补功能中创造了能许可我提取密码的漏洞。首先,代码解析URL打算出浏览器当前浏览域名,然后在任何表格里都添补存储的凭据(用户名与密码)。但是,URL解析代码是有缺陷的(URL解析漏洞?震荡!
)。
这是代码(lpParseUri函数,未缩减的):
var fixedURL = URL . match ( /^(.:\/\/[^\/]+\/.)@/ );
fixedURL && ( url = url . substring ( 0 , fixedURL [ 1 ]. length ) + url . substring ( fixedURL [ 1 ]. length ). replace ( /@/ g , \公众%40\"大众 ));
通过浏览此网址:http://avlidienbrunn.se/@twitter.com/@hehe.php浏览器会把当前的域avlidienbrunn.se作为Twitter.com的扩展。由于URL代码涌如今@前面,实际域被视为URL的用户名部分。
这个糟糕的是真的吗?
下面你会看到扩展将在我的表格中补充我在twitter.com的存储的凭据(用户名与密码)。之后,我可以仅通过修正为其他常用网站,就可以提取这些密码。
我想说LastPass很卖力公开了这次的漏洞并且处理非常专业。从提交漏洞到修复,所花韶光不到一天,并且给了我$ 1,000的漏洞赏金。
密码管理好不好?
我们应停滞利用密码管理器吗?不,比利用统一密码要好得多。
只管采纳禁用自动添补功能是一个很好的举措,由于这已经不是第一次找到自动填写漏洞,但是我希望这是末了一次。
其余,开启多成分认证能提高用户数据安全性。