mirror of
https://github.com/beefproject/beef
synced 2026-06-08 13:15:56 +00:00
0f7b843cda
Implements navigator.mediaDevices.enumerateDevices() detection. Groups results by kind (audioinput, audiooutput, videoinput) and returns counts unconditionally + labels when permissions allow. Handles the no-API case explicitly via beef.status.error(). Closes #3542
19 lines
1.0 KiB
Ruby
19 lines
1.0 KiB
Ruby
#
|
|
# Copyright (c) 2006-2026 Wade Alcorn - wade@bindshell.net
|
|
# Browser Exploitation Framework (BeEF) - https://beefproject.com
|
|
# See the file 'doc/COPYING' for copying permission
|
|
#
|
|
class Detect_media_devices < BeEF::Core::Command
|
|
def post_execute
|
|
content = {}
|
|
content['audioinput_count'] = @datastore['audioinput_count'] unless @datastore['audioinput_count'].nil?
|
|
content['audioinput_labels'] = @datastore['audioinput_labels'] unless @datastore['audioinput_labels'].nil?
|
|
content['audiooutput_count'] = @datastore['audiooutput_count'] unless @datastore['audiooutput_count'].nil?
|
|
content['audiooutput_labels'] = @datastore['audiooutput_labels'] unless @datastore['audiooutput_labels'].nil?
|
|
content['videoinput_count'] = @datastore['videoinput_count'] unless @datastore['videoinput_count'].nil?
|
|
content['videoinput_labels'] = @datastore['videoinput_labels'] unless @datastore['videoinput_labels'].nil?
|
|
content['error'] = @datastore['error'] unless @datastore['error'].nil?
|
|
save content
|
|
end
|
|
end
|