一个网页是怎么从你的手机中偷找数据的WebUSB

访客3年前关于黑客接单818

本年9月15日,Chrome61宣告,它启用了WebUSB作为其默许成效。而WebUSB是一个Javascript API,可以容许网页访问已联接的USB配备。这儿的USB配备是指系统和工业的USB配备,所以不支撑稀有的USB配备(比如搜集摄像头,HID或大容量储存配备)。然则经由进程WebUSB API,许多其他的USB配备可以被访问,且当用户授权给网页时,自己可以根本不懂得网页获取的访问权限等级。
这篇文章看望WebUSB的成效,以深入懂得其工作道理,侵略进犯 *** 及隐私成果。我们会阐明访问配备所需的进程,和浏览器是若何处置权限的,然后我们会谈论争辩一些网安危险,并演示一个网站若何使用WebUSB来建立ADB联接来侵略安卓手机。
根基
当USB配备刺进主机时,浏览器会读取配备发送的描绘符,然后将其储存在内部USB配备储存器中。此进程由Chrome的浏览器内核Blink处置。日记可以在chrome://device-log(GET参数“refresh = 1”反常有用)中查看。
根据规范,配备可以在其二进制东西存储中的渠道描绘符中明白地声明对WebUSB的支撑。
Offset
Field
Size
Value
Description
0
bLength
1
Number
Size of this descriptor. Must be set to 24.
1
bDescriptorType
1
Constant
DEVICE CAPABILITY descriptor type.
2
bDevCapabilityType
1
Constant
PLATFORM capability type.
3
bReserved
1
Number
This field is reserved and shall be set to zero.
4
PlatformCapabilityUUID
16
UUID
Must be set to {3408b638-09a9-47a0-8bfd-a0768815b665}.
20
bcdVersion
2
BCD
Protocol version supported. Must be set to 0×0100.
22
bVendorCode
1
Number
bRequest value used for issuing WebUSB requests.
23
iLandingPage
1
Number
URL descriptor index of the device’s landing page.
浏览器将每一个USB配备存储在自己的配备存储器中。WebUSB的可访问性由本机驱动法度支撑所选择。在Windows上,我们可以经由进程浏览器访问由WinUSB驱动法度处置的每一个USB配备。其他的比如大容量存储配备,搜集摄像头或HID等就无法经由进程搜集访问了,由于它们具有处置这些配备的共用驱动法度。
根据规范(和本博客文章),一旦配备注册,浏览器就会体现一条照顾。看起来像多么:

然则,这类举动不易重现。我们在以下系统上检验考试过:
Windows 7, Chrome 61
Windows 10, Chrome 61
Debian, Chromium 60 (启用了chrome://flags/#enable-experimental-web-platform-features)
Debian, Google Chrome 61
Arch Linux, Chromium 61
Arch Linux, Google Chrome 61
Platform Descriptor中有一个幽默的米素叫做“iLandingPage”。纵然规范将协议“http://”和“https://”作为前缀,我们也可以选择一个空协议,在这类情况下,我们应当可以在供应的URL自己中指定协议。
然则,Chrome已移除或根本没有完成注入随意率性URL前缀的成效。以下是源文件中名为“webu *** _descriptors.cc”的代码片断。它分析接收到的描绘头,包括“iLandingPage”。将URL前缀限定为“http://”和“https://”。
// Look up the URL prefix and append the rest of the data in the descriptor.
 std::string url;
 switch (bytes[2]) {
   case 0:
     url.append("http://");
     break;
   case 1:
     url.append("https://");
     break;
   default:
     return false;
 }
 url.append(reinterpret_castconst char*>(bytes.data() + 3), length - 3);
乞求访问配备
网页可以关上提示乞求访问配备,它必需指定过滤器来过滤可用的配备。假设过滤器为空,那末即容许用户从全部可用配备中选择配备。关上的提示以下所示:

用户可以看到全部(过滤的)可用配备。配备称谓引用于自身所发送的产品称谓。假设没有指定产品称谓,Chrome会检验考试经由进程无关配备的已知信息来猜测一个表达性的称谓。然后,它会将配备命名为“来自”的不知道配备。用户选择配备并点击“联接”后,便可授予访问配备的权限。
权限处置
权限由Chrome的permission API处置。一旦向网页授予权限访问配备,权限会不断接连,直到用户手动吊销。处置权限的API根据其根源区分“网页”,即当具有婚配的协议,主机和端口时,浏览器就会觉得这个网页与别的一网页相同。浏览器辨认独一配备的举动不是很明显,用于辨认的候选意图由配备在其描绘头中发送。候选意图以下:
GUID
Vendor ID
Product ID
当然GUID是独一的ID,但它不克不及用于辨认配备。以下是多次刺进和刺进测验配备的日记的截图,可见每次配备都有不相同的GUID,纵然如斯,每次刺进后配备都被答应且可以访问,不必要进一步的答应乞求。

这注解Chrome使用Vendor ID和Product ID的组合来标识配备。
访问配备
一旦网页被授予访问配备的权限,那末就可以访问它了。首先其必需关上配备,关上配备的进程中就开端了与配备的会话,然后配备会被确定,多么一致浏览器会话中的其他选项卡就无法访问了。然则别的一个浏览器的别的一个网页依旧可以关上相同配备。

[1] [2]  黑客接单网

相关文章

川崎最便宜多少钱,川崎最便宜的跑车

  川崎内里最自制的是小忍者 250的排量, 新车水货 或许用度3万以上 照旧要按照年份来看车 是否贵,但愿能帮到你 望价值采用   现款川崎的跑车有ZX-14R六眼魔神,ZX-10几多R,ZX-6R...

能找黑客无卡转钱吗-黑客的代号都是怎么取的

能找黑客无卡转钱吗-黑客的代号都是怎么取的

能找黑客无卡转钱吗相关问题 黑客的代号都是怎么取的相关问题 如何寻找黑客微信号 黑客电话号码资源(黑客手机号码定位)...

黑客网站资料大全

黑客网络Hacknet你会玩了吗?小伙伴们是不是正在为看不懂英文而烦恼呢,不要烦恼,今日小编为大家带来最全的新手指南,全中文翻译哦,感兴趣的玩家赶紧来。 你以为给你你就会用啊。菜。 黑客界两大祖师爷,...

福州有什么好玩的地方(福州游玩攻略大全)

福州有什么好玩的地方(福州游玩攻略大全)

1、厦门鼓浪屿风景名胜区 厦门鼓浪屿是福建省著名景点。历史上很多事件都出在这个地方。在第41届世界遗产大会上,中国申遗项目——“鼓浪屿国际历史社区”通过了世界遗产大会的终审,成功列入世界文化遗产...

我不小心将微信记录删除了,如何能将聊天记录恢复

我不小心将微信记录删除了,如何能将聊天记录恢复(一)盈余公积简述盈余公积就是指公司依照要求从纯利润中获取的各种各样总计资产。盈余公积依据主要用途不一样分成公益基金和一般盈余公积。公益基金专业用以企业职...

1万炒股一年最多挣多少?先学习这6个炒股技巧

1万炒股一年最多挣多少?先学习这6个炒股技巧

最近有朋友问我:1万炒股1年挣多少?我突然不知道怎么回答,因为根据A股的交易机制,我国股市有涨停板,一板二板和创业板每天涨跌幅最多10%,今年新设立的科创板涨跌幅限制是20%。 在一种理想状态下,假...