1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
##
# 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
##
Plugin.define "SpirePRO-CMS" do
author "Brendan Coles <bcoles@gmail.com>" # 2011-05-16
version "0.1"
description "Custom CMS from Boston web design and hosting company 1stOmni - http://www.1stomni.com/"
# ShodanHQ results as at 2011-05-16 #
# 8 for SpirePRO CMS
# Examples #
examples %w|
www.maidpro.com
www.olympus-ims.comen
www.blueq.com
66.151.177.67
66.151.177.55
66.151.177.160
66.151.177.159
66.151.177.74
66.151.177.36
66.151.177.104
|
# Matches #
matches [
# JavaScript
{ :text=>'<script xmlns:a="http://www.1stomni.com/spire/aml" type="text/javascript"' },
# Meta Spire-Last-Modified
{ :text=>'<meta name="Spire-Last-Modified" content="' },
# Spire-Editor
{ :regexp=>/<meta name="Spire-Editor" content="([^"]+)">/ },
]
# Passive #
def passive
m=[]
# x-generator header
m << { :string=>@headers["x-generator"].scan(/^SpirePRO CMS v([\d\.]+ \(Microkernel v[\d]+; CMS Server v[\d]+\)) /) } if @headers["x-generator"] =~ /^SpirePRO CMS v([\d\.]+ \(Microkernel v[\d]+; CMS Server v[\d]+\)) /
# generator header
m << { :string=>@headers["generator"].scan(/^SpirePRO CMS v([\d\.]+ \(Microkernel v[\d]+; CMS Server v[\d]+\)) /) } if @headers["generator"] =~ /^SpirePRO CMS v([\d\.]+ \(Microkernel v[\d]+; CMS Server v[\d]+\)) /
# Return passive matches
m
end
end
|