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

时间:2017-06-20 11:40:01

标签: web-applications browser mobile spoofing

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

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

经过一些研究,我认为Web应用程序是使用/ cordova构建的。我可以访问JavaScript,我相信,它负责按钮操作 - 但我无法共享代码。

总之,这是发生的事情:

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

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

编辑: Documentation of the discovered function can be found here

1 个答案:

答案 0 :(得分:1)

您无法绕过相机操作。

无论如何,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);

然后,您可以在change元素

上使用input事件处理程序选择文件时启动上传过程