A8:2021 | Software and Data Integrity | Insecure Deserialization (5) | Cycubix Doc
Let’s try
The following input box receives a serialized object (a string) and it deserializes it.
rO0ABXQAVklmIHlvdSBkZXNlcmlhbGl6ZSBtZSBkb3duLCBJIHNoYWxsIGJlY29tZSBtb3JlIHBvd2VyZnVsIHRoYW4geW91IGNhbiBwb3NzaWJseSBpbWFnaW5lTry to change this serialized object in order to delay the page response for exactly 5 seconds.

Solution
Hints: WebGoat probably contains the org.dummy.insecure.framework.VulnerableTaskHolder class as shown on the lesson pages. Use this to construct and serialize your attack. The VulnerableTaskHolder might have been updated on the server with the next version number. Not all actions are allowed anymore. The readObject has been changed. For serializing it does not effect the data. Follow the additional hints from the feedback on your attempts.
In order to create the attack we need to follow this 4 steps: clone the code at the WebGoat repository, compile the necessary classes, run the attack to serialized the object, and convert the token into base64. Let's break down the process:
a) Clone the WebGoat repository to access the source code.
Go into the insecure deserialization java file:
This file contains the endpoint used by WebGoat to check your token for completing the lesson.
b) Compile the necessary classes (VulnerableTaskHolder, Attack).
Go into the VulnerableTaskHolder java file.
Compile the file
Create and compile "Attack.java".
Compile the "Attack.java" file
c) Run Attack.java to Generate the Serialized Object
d) Convert the serialized object to Base64 and submit it to complete the lesson
Running Attack.class creates serial file which needs to be converted to base64 by means of the following command in power shell:
Copy the Base64 token and submit it in the WebGoat lesson form to complete the exercise.
Last updated
Was this helpful?

