From 6a321759f6f75e7e14a29fde7cd0fa359d14215e Mon Sep 17 00:00:00 2001 From: Louis Burda Date: Wed, 21 Jul 2021 19:37:15 +0200 Subject: final tweaks to documentations, added intro and final presentation slides --- documentation/slides-intro/slides.md | 184 +++++++++++++++++++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 documentation/slides-intro/slides.md (limited to 'documentation/slides-intro/slides.md') diff --git a/documentation/slides-intro/slides.md b/documentation/slides-intro/slides.md new file mode 100644 index 0000000..48e3447 --- /dev/null +++ b/documentation/slides-intro/slides.md @@ -0,0 +1,184 @@ +title: STLDoctor +output: index.html +controls: false + +-- + + + +-- + +# STLDoctor 💉 + +-- + +### The Plan 💡 + + + + + + +- Plaintext service +- Interesting C bugs +- Exploit logic bugs, not RCE +- Learn about the STL format + + + +-- + +### Setup 🔧 + +- C binary that communicates via `stdin` and `stdout` +- Networking abstracted through hosting with `socat` +- File system backend with periodic clean up + +![socat](media/socat.gif) + +-- + +### Functionality 🎮 + + + + +- Users can upload and search for files +- Register to upload private files +- Uploaded files are analyzed and information is returned to the user + +--- + + + +![FileSearch](media/search.gif) + +-- + +### 1. Vuln 💉 + +- Flags are stored in the solidname of the STL +- Bug in upload info file parsing allows attacker to retrieve any public file + +-- + +### 2. Vuln 💉 + +- Flags are stored in the solidname of a private file +- Buffer overflow in hash function allows enumeration of private user hashes +- Generate preimages of weak hash function to login as users + +-- + +### Goals Met 🎉 + + + +⭐ Plaintext file inspection service
+⭐ Interesting and realisitic bugs
+⭐ Combine different gadgets for exploit
+⭐ Don't need to be an expert at fancy ROP
+⭐ No SLA lost in TestCTF
+⭐ Written in C + +-- + +### Issues 📉 + + + + + +💥 Exploits not directly related to STL format
+💥 (Eno)checker has memory leaks + +-- + +### Lesssons Learned + + + +- Many exploits are not suited for A/D ctfs +- How to write a FSM format parser +- Be careful with casts in C +- People just *love* C services 🤡 + +-- + +-- + +-- + +# Exploit 1 + +-- + +![exploit-1-1](media/exploit-1-1.png) + +-- + +![exploit-1-2](media/exploit-1-2.png) + +-- + +![exploit-1-3](media/exploit-1-3.png) + +-- + +![exploit-1-4](media/exploit-1-4.png) + +-- + +![exploit-1-5](media/exploit-1-5.png) + +-- + +# Exploit 2 + +-- + +![exploit-2-1](media/exploit-2-1.png) + + + + -- cgit v1.2.3-71-gd317