@@ -17,9 +17,14 @@ def initialize
17
17
super (
18
18
'Name' => 'ColdFusion Version Scanner' ,
19
19
'Description' => %q{
20
- This module attempts identify various flavors of ColdFusion as well as the underlying OS
20
+ This module attempts identify various flavors of ColdFusion up to version 10
21
+ as well as the underlying OS.
21
22
} ,
22
- 'Author' => [ 'nebulus' ] ,
23
+ 'Author' =>
24
+ [
25
+ 'nebulus' , # Original
26
+ 'sinn3r' # Fingerprint() patch for Cold Fusion 10
27
+ ] ,
23
28
'License' => MSF_LICENSE
24
29
)
25
30
end
@@ -30,7 +35,7 @@ def fingerprint(response)
30
35
if ( response . headers [ 'Server' ] =~ /IIS/ or response . headers [ 'Server' ] =~ /\( Windows/ )
31
36
os = "Windows (#{ response . headers [ 'Server' ] } )"
32
37
elsif ( response . headers [ 'Server' ] =~ /Apache\/ / )
33
- os = "Unix (#{ response . headers [ 'Server' ] } )"
38
+ os = "Unix (#{ response . headers [ 'Server' ] } )"
34
39
else
35
40
os = response . headers [ 'Server' ]
36
41
end
@@ -43,7 +48,8 @@ def fingerprint(response)
43
48
title = $1
44
49
title . gsub! ( /\s / , '' )
45
50
end
46
- return nil if ( title == 'Not Found' or not title =~ /ColdFusionAdministrator/ )
51
+
52
+ return nil if ( title == 'Not Found' or not title =~ /ColdFusionAdministrator/ )
47
53
48
54
out = nil
49
55
@@ -54,8 +60,12 @@ def fingerprint(response)
54
60
out = "Adobe ColdFusion MX7"
55
61
elsif ( response . body =~ /<meta name=\" Author\" content=\" Copyright \( c\) 1995\- 2006 Adobe/ )
56
62
out = "Adobe ColdFusion 8"
63
+ elsif ( response . body =~ /<meta name=\" Author\" content=\" Copyright \( c\) 1995\- 2010 Adobe/ and
64
+ response . body =~ /1997\- 2012 Adobe Systems Incorporated and its licensors/ )
65
+ out = "Adobe ColdFusion 10"
57
66
elsif ( response . body =~ /<meta name=\" Author\" content=\" Copyright \( c\) 1995\- 2010 Adobe/ or
58
- response . body =~ /<meta name=\" Author\" content=\" Copyright \( c\) 1995\- 2009 Adobe Systems\, Inc\. All rights reserved/ )
67
+ response . body =~ /<meta name=\" Author\" content=\" Copyright \( c\) 1995\- 2009 Adobe Systems\, Inc\. All rights reserved/ or
68
+ response . body =~ /<meta name=\" Author\" content=\" Copyright \( c\) 1997\- 2012 Adobe Systems\, Inc\. All rights reserved/ )
59
69
out = "Adobe ColdFusion 9"
60
70
elsif ( response . body =~ /<meta name=\" Keywords\" content=\" (.*)\" >\s +<meta name/ )
61
71
out = $1. split ( /,/ ) [ 0 ]
@@ -76,8 +86,8 @@ def run_host(ip)
76
86
url = '/CFIDE/administrator/index.cfm'
77
87
78
88
res = send_request_cgi ( {
79
- 'uri' => url ,
80
- 'method' => 'GET' ,
89
+ 'uri' => url ,
90
+ 'method' => 'GET' ,
81
91
} )
82
92
83
93
return if not res or not res . body or not res . code
0 commit comments