Skip to content

Commit 4e28d3d

Browse files
committed
Update the YSoSerial Dockerfile and remove runme
Remove the runme script because we should no longer be updating all of the gadget chains at once because doing so would require that quite a few different modules be updated. Moving forward we should be updating individual chains using an incremental approach to allow us to validate the results of the find_ysoserial_offsets tool which is error prone.
1 parent 5219759 commit 4e28d3d

3 files changed

Lines changed: 5 additions & 14 deletions

File tree

tools/payloads/ysoserial/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,4 @@ RUN gem install --silent diff-lcs:1.4.4 json pry
3030

3131
COPY find_ysoserial_offsets.rb /
3232

33-
CMD ruby /find_ysoserial_offsets.rb -a
33+
ENTRYPOINT ["ruby", "/find_ysoserial_offsets.rb"]

tools/payloads/ysoserial/find_ysoserial_offsets.rb

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@
1515

1616
@debug = false
1717
@generate_all = false
18-
@payload_type = nil
19-
@ysoserial_modified = false
18+
@payload_type = YSOSERIAL_UNMODIFIED_TYPE
2019
@ysoserial_payloads = []
2120
@json_document = {}
2221
OptionParser.new do |opts|
@@ -36,7 +35,6 @@
3635
end
3736

3837
opts.on('-m', '--modified [TYPE]', String, 'Use \'ysoserial-modified\' with the specified payload type') do |modified_type|
39-
@ysoserial_modified = true
4038
@payload_type = modified_type
4139
end
4240

@@ -54,10 +52,10 @@ def generate_payload(payload_name, search_string_length)
5452
search_string = 'A' * search_string_length
5553

5654
# Build the command line with ysoserial parameters
57-
if @ysoserial_modified
58-
stdout, stderr, _status = Open3.capture3('java', '-jar', 'ysoserial-modified.jar', payload_name, @payload_type, search_string)
59-
else
55+
if @payload_type == YSOSERIAL_UNMODIFIED_TYPE
6056
stdout, stderr, _status = Open3.capture3('java', '-jar', 'ysoserial-original.jar', payload_name, search_string)
57+
else
58+
stdout, stderr, _status = Open3.capture3('java', '-jar', 'ysoserial-modified.jar', payload_name, @payload_type, search_string)
6159
end
6260

6361
payload = stdout
@@ -231,14 +229,12 @@ def generated_ysoserial_payloads
231229
if @generate_all
232230
YSOSERIAL_ALL_TYPES.each do |type|
233231
warn "Generating payload type for #{type}..."
234-
@ysoserial_modified = (type != YSOSERIAL_UNMODIFIED_TYPE)
235232
@payload_type = type
236233
@json_document[type] ||= {}
237234
@json_document[type].merge!(generated_ysoserial_payloads)
238235
$stderr.puts
239236
end
240237
else
241-
@payload_type ||= YSOSERIAL_UNMODIFIED_TYPE
242238
@json_document[@payload_type] ||= {}
243239
@json_document[@payload_type].merge!(generated_ysoserial_payloads)
244240
end

tools/payloads/ysoserial/runme.sh

Lines changed: 0 additions & 5 deletions
This file was deleted.

0 commit comments

Comments
 (0)