1##
2# This file is part of WhatWeb and may be subject to
3# redistribution and commercial restrictions. Please see the WhatWeb
4# web site for more information on licensing and terms of use.
5# http://www.morningstarsecurity.com/research/whatweb
6##
7# Version 0.2
8# removed :name and :certainty=>100
9##
10Plugin.define "ExpressionEngine" do
11author "Andrew Horton"
12version "0.2"
13description "ExpressionEngine is CMS written in PHP. Free and commercial versions"
14website "http://expressionengine.com"
15
16# Dorks #
17dorks [
18'"Powered by ExpressionEngine"'
19]
20
21
22
23#Powered by <a href="http://expressionengine.com/">ExpressionEngine</a>   uncommon
24
25matches [
26{:regexp=>/owered by <a href="http:\/\/expressionengine.com\/">ExpressionEngine<\/a>/}
27]
28
29#Set-Cookie: exp_last_visit=959242411; expires=Mon, 23-May-2011 03:13:31 GMT; path=/
30#Set-Cookie: exp_last_activity=1274602411; expires=Mon, 23-May-2011 03:13:31 GMT; path=/
31#Set-Cookie: exp_tracker=a%3A1%3A%7Bi%3A0%3Bs%3A5%3A%22index%22%3B%7D; path=/
32
33def passive
34        m=[]
35        m << {:name=>"exp_last_visit cookie" } if @headers["set-cookie"] =~ /exp_last_visit=/
36        m
37end
38
39# these plugins only identify the system. they don't find out the version, etc
40def aggressive
41	m=[]
42
43	target = URI.join(@base_uri.to_s,"READ_THIS_FIRST.txt").to_s
44	status,url,ip,body,headers=open_target(target)
45
46	if body =~ /ExpressionEngine/
47		m << {:name=>"readthisfirst txt file" }
48	end
49
50	target = URI.join(@base_uri.to_s,"system/updates/ee_logo.jpg").to_s
51	status,url,ip,body,headers=open_target(target)
52
53	if status == 200 and body =~ /JFIF/
54		m << {:name=>"ee_logo jpg" }
55	end
56
57	m
58end
59
60end
61
62
63