use*_*461 1 javascript browser security
我在一家拥有网络和移动应用程序的公司工作.他们将实施一些更改,以从基于移动和Web浏览器的系统获取设备ID.看起来Javascript有能力获得像主板序列号等硬件信息.我对此感到有点震惊,因为我虽然我的桌面浏览器在这方面有些限制.
所以,我对这个小组的问题是:
这完全是假的.
浏览器内的 Javascript(不使用插件)没有硬件访问权限,(我强烈认为)永远不会有.
一般来说,浏览器制造商(例如微软的IE、Google Chrome、Mozilla Firefox等)不提供用于访问特定硬件信息的JavaScript机制。
然而,在某些浏览器(尤其是“传统”浏览器,如 IE6)中,使用 ActiveX、插件、Java Applet,甚至特定的浏览器漏洞可以通过在浏览器的安全范围之外执行代码来泄露此类信息。您的雇主希望从哪个平台检索此信息?
下面是通过 JavaScript 使用 ActiveX 的示例。
我亲自在IE8中测试了这段代码。它正确显示主板信息,包括序列号。IE8 提示我允许脚本运行,但旧版本或配置不当的版本可能会无条件运行脚本。(原始来源):
var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".");
var properties = service.ExecQuery("SELECT * FROM Win32_BaseBoard");
var e = new Enumerator (properties);
document.write("<table border=1>");
for (;!e.atEnd();e.moveNext ())
{
var p = e.item ();
document.write("<tr>");
document.write("<td>" + p.HostingBoard + "</td>");
document.write("<td>" + p.Manufacturer + "</td>");
document.write("<td>" + p.PoweredOn + "</td>");
document.write("<td>" + p.Product + "</td>");
document.write("<td>" + p.SerialNumber + "</td>");
document.write("<td>" + p.Version + "</td>");
document.write("</tr>");
}
document.write("</table>");
Run Code Online (Sandbox Code Playgroud)
为了防止您的计算机发生这种情况,请使用现代浏览器(IE9、FF4+、Chrome)并始终保持最新状态。此外,请注意您安装的插件,更重要的是,请注意您安装它们的位置。
| 归档时间: |
|
| 查看次数: |
6597 次 |
| 最近记录: |