# frozen_string_literal: true ## # This file is part of WhatWeb and may be subject to # redistribution and commercial restrictions. Please see the WhatWeb # web site for more information on licensing and terms of use. # http://www.morningstarsecurity.com/research/whatweb ## WhatWeb::Plugin.define "Sony-Projector" do @author = "Brendan Coles " # 2011-08-07 @version = "0.1" @description = "Sony projecter" @website = "http://pro.sony.com/bbsc/ssr/cat-projectors/" # ShodanHQ results as at 2011-08-07 # # 91 for Network Projector # 15 for Network Projector "Projector User" # Matches # @matches = [ # Landing Page # BODY onLoad { url: "/", text: '' }, # Landing Page # form Action="/Forms/index_1" { url: "/", text: '
' }, # Landing Page # JavaScript src="sonylogoJS.js" { url: "/", text: '' }, # Frameset # /index_J.htm { url: "/index_J.htm", text: '' }, # Frameset # /index_E.htm { url: "/index_E.htm", text: '' }, # JavaScript sonylogo(); { text: '' }, # Model Detection # /info_data.htm # JavaScript { url: "/info_data.htm", model: /^var info_pj_value = \[[\s]+'([^\s^']+)','[\d]+','[^']{0,256}'\];/ }, # Version Detection # /info_data.htm # JavaScript { url: "/info_data.htm", version: /^var info_other_value = \[[\s]+' ?([^\s^']+)'/ }, ] # Passive # def passive(target) m = [] # HTTP Server if /^Network Projector$/.match?(target.headers["server"]) m << { certainty: 75, name: "Server Header" } end # WWW-Authenticate Header if /Basic realm="Projector (User|Administration)"/.match?(target.headers["www-authenticate"]) m << { certainty: 75, name: "WWW-Authenticate Header" } end # Return passive matches m end end