25.03.2016 Views

Serial Killer Silently Pwning Your Java Endpoints

OWASPBNL_Java_Deserialization

OWASPBNL_Java_Deserialization

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Bypassing LookAhead Blacklists<br />

New gadget type to bypass ad-hoc look-ahead ObjectInputStream blacklist protec@ons:<br />

Can we find a class like:<br />

1 public class NestedProblems implements <strong>Serial</strong>izable {<br />

2 byte[] bytes … ;<br />

3 …<br />

4 private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {<br />

5 ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bytes));<br />

6 ois.readObject();<br />

7 }<br />

8 }<br />

During deserializa@on of the object graph, a new immaculate unprotected<br />

ObjectInputStream will be instan@ated<br />

AEacker can provide any arbitrary bytes for unsafe deserializa@on<br />

Bypass does not work for cases where ObjectInputStream is instrumented<br />

22

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!