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

Web applications 在桌面浏览器中为web应用程序伪造客户端摄像头,web-applications,browser,mobile,spoofing,Web Applications,Browser,Mobile,Spoofing,我正在测试一个web应用程序,在那里我遇到了一个按钮。此按钮用于启动客户端的照相机应用程序,然后允许用户上载照片 当我在虚拟机上进行测试时,没有摄像头应用程序,因此按钮对我没有任何作用 经过一些研究,我相信web应用程序是用/oncordova构建的。我确实可以访问JavaScript,我相信它负责按钮操作——但我不能共享代码 总之,发生了以下情况: var client_camera = navigator.camera; client_camera.getPicture(...) 有没

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

当我在虚拟机上进行测试时,没有摄像头应用程序,因此按钮对我没有任何作用

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

总之,发生了以下情况:

 var client_camera = navigator.camera;
 client_camera.getPicture(...)
有没有办法让浏览器/web应用程序认为我有一个摄像头/摄像头应用程序,从而能够上传这样的图片


编辑:

您不能绕过相机操作

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

然后,您可以在选择文件时启动上载过程,方法是在
输入
元素上使用
更改
事件处理程序

提议的移动到stackoverflow…尽管与渗透测试相关,但我相信您是对的。事后看来,这更适合StackOverflow。只需直接调用摄像头回调,模拟事件对象,以及应用程序消费所需的道具。感谢您的建议。我并没有试图编写一个处理该场景的应用程序,但我试图在桌面上伪造navigator.camera元素。对此,没有直接的方法。您可能想使用某些第三方应用。您知道有任何此类第三方应用吗?cordova用于移动设备。你想要安卓应用程序吗?那么这篇文章可能会对@SaAtomicAs有所帮助。之前我说过,我试图在桌面浏览器上欺骗摄像头。Linux上的Firefox