I hereby claim:
- I am coekie on github.
- I am coekaerts (https://keybase.io/coekaerts) on keybase.
- I have a public key whose fingerprint is 8759 8ED3 3D40 C3D4 F36C 7FC9 8158 FB2E F517 1EDE
To claim this, I am signing this object:
| import java.io.ByteArrayInputStream; | |
| import java.io.ByteArrayOutputStream; | |
| import java.io.IOException; | |
| import java.io.ObjectInputStream; | |
| import java.io.ObjectOutputStream; | |
| import java.util.HashSet; | |
| import java.util.Set; | |
| // billion-laughs-style DoS for java serialization | |
| public class SerialDOS { | 
| import java.nio.ByteBuffer; | |
| import java.util.ArrayList; | |
| import java.util.List; | |
| // sub-optimal almost-reliable proof of concept JVM crasher. | |
| // see http://wouter.coekaerts.be/2015/resurrecting-phantomreference | |
| public class ByteBufferUseAfterFree { | |
| private static final int SIZE = 100_000; | |
| public static void main(String[] args) { | 
| import java.io.PrintStream; | |
| // Makes it find Kirk every time. | |
| // Works for me every time... but might be system dependent. | |
| public class FindKirk { | |
| public static void main(String[] args) throws InterruptedException { | |
| // warmup, avoiding that initialization taking an identity hash code gets in our way | |
| JavaChampionTest.main(); | |
| // hash code 2134400190 is an early twin. 1802421938 comes 2 before the first occurrence, | 
I hereby claim:
To claim this, I am signing this object: