在桌面浏览器中伪造 Web 应用程序的客户端摄像头



我正在测试一个Web应用程序,在那里我遇到了一个按钮。此按钮应该启动客户端的相机应用程序,然后允许用户上传照片。

当我从虚拟机进行测试时,没有相机应用程序,因此该按钮对我没有任何作用。

经过一些研究,我相信Web应用程序是用cordova构建的。我确实可以访问JavaScript,我相信JavaScript负责按钮操作 - 但我不能共享代码。

总之,这是发生的事情:

 var client_camera = navigator.camera;
 client_camera.getPicture(...)

有没有办法让浏览器/网络应用程序认为我确实有一个相机/相机应用程序,从而可以上传这样的图片?

编辑:发现的功能的文档可以在这里找到

您无法绕过相机操作。

无论如何,navigator是一个包含客户端详细信息的对象(浏览器,操作系统和某些组件,如相机,闪存等(。

我在这里只能建议

检查是否有摄像头。

如果是,请使用它。

如果没有,请添加默认文件上传程序

代码

if(navigator.camera){
  //camera is there add the code to capture from camera
}
else{
  var file=document.createElement('input');
  file.set attribute('type','file');
  //append it to the container div or body
  // assume that you have a div with class container
 document.querySelector('div.container').appendChild(file);

然后,您可以在选择文件时启动上传过程,方法是在 input 元素上使用change事件处理程序

相关内容

  • 没有找到相关文章

最新更新