[UCSB iCTF 2017] pokemon(type: pwn) write-ups

Categories CTF

This is an interesting challenge in UCSB iCTF 2017, we had a lot of fun. But when we finished the exploit, the game server including the scoreboard went down before the end.

This wp contains only a writeup local exploit. One of my teammate improved it to achive arbitrary file read to get the flag. It’s a pity we can not actually get a real flag in the game.

Continue reading “[UCSB iCTF 2017] pokemon(type: pwn) write-ups”

0ctf 2016 writeup for VM challenge(reverse 7 pts)

Categories CTF

This is a write-up for the 0ctf 2016 quals “VM” reverse challenge worth 7 points.

The main process of solving this challenge contains 3 phase:

  1. Find the location of input check algorithm
  2. Reverse input transform algorithm
  3. profit

I wasted much life in the second phase. This function is flattend by a big switch structure and contains a lot of goto instruction. It’s hard to reverse such a function statically, So we use dynamic analysis and black box analysis. we make a few assumptions on the transform pattern. We can reverse the algorithm without understanding  assembly or decompiled code.

Continue reading “0ctf 2016 writeup for VM challenge(reverse 7 pts)”

Plaid CTF 2015 writeup(prodmanager, clifford, ebp, unknown)

Categories CTF

1. prodmanager(180 points)

prodmanager is a product manage system. After a short investigation of the source code, I found that there is a UAF vulnerability of double linked list. Actually the program did not manage product list and lowerest price list properly, an item which is freed in the product list still presents in the lowerest price list. Continue reading “Plaid CTF 2015 writeup(prodmanager, clifford, ebp, unknown)”

0CTF-2015 freenote: playing with malloc library

Categories CTF

I spent several hours on this challenge, the logic of this program is simple and an information leakage vulnerability was discovered. But I was not familiar with malloc’s heap management scheme and failed to exploit this vulnerability.

The vulnerability has its root in no  '\0'  was appended to the input note, it’s possible to leak a heap pointer by crafting a string before the heap pointer. But I didn’t know how then, after reading this and this writeup I finally figured out how to do this. This and this also help a lot to understand heap exploitation technique. This article is a record for reference. Continue reading “0CTF-2015 freenote: playing with malloc library”

BCTF 2015 pwn challenge: zhongguancun

Categories CTF

The general idea to pwn this toy online store system is as following, firstly we need to find a control flow hijack vulnerability which in this case is a vtable hijack based on heap buffer overflow, secondly we will bypass all the integrity checks in the program and the memory defenses(e.g. ASLR) to call “system(“sh”)” in libc.

Continue reading “BCTF 2015 pwn challenge: zhongguancun”