2021-03-29 18:06:00
围观(8166)
今天朋友发了个网址过来,打开一看有点意思,使用微信打开生成的 URL 可以实现无感知的拍摄。如果在微信上发给好友,可以轻易的获取该好友此时此刻的“人脸”。
更骚操作的是,他这个页面直接提供了源码下载。
博主下载源码简单看了一下,原理挺简单,先是获取摄像头视频录制的权限,再进行视频录制,将录制到的视频进行绘制到 Canvas. 接下来就会将这个 Canvas 的数据填充到 Input 输入框(图片的 BASE64 编码)再执行表单提交。
博主在 PC 使用 Google Chrome 和 火狐浏览器测试了一下,都是提示需要允许摄像头权限才能继续,这两个浏览器安全性还是可以的。
在手机上使用微信 / QQ / 小米自带浏览器 也测试了一遍,微信是直接无感知的就给了网页拍摄权限,侧面说明微信的安全做得并不完美。
而 QQ 和 小米自带的浏览器 都是提示需要相机 / 摄像头权限才能继续。
博主的手机应用权限设置,QQ 和 微信 都是给了 “使用中允许” 这样的权限。
QQ 和 微信 虽然都是腾讯的,但是 QQ 的安全性在这方面比微信好。
博主用的微信版本是 8.0.1
如果版本比这个高,并且无法重现这个无感知拍摄,可能微信修复了这个安全问题。
如果想体验一下,可以使用博主稍微修改了一下的版本(加上了一些提醒):https://test.ll9.top/takePhoto
该链接随时可能删掉,所以仅供测试。
第 1 条附言 2021-03-29 18:10:06
博主的微信内置浏览器内核版本是:45521(20210302153753) 查看内核信息:http://debugtbs.qq.com