watevrCTF 2019
2 min readDec 17, 2019
#voting machine 1 (bof)
cái này bof cơ bản. mình sẽ nói sơ cách solve
objdump -d
để dump ra các hàm có thể disassembly được (vì đây là file unstripped) => có được địa chỉ flag (hàm secret)- tìm offset + p32(secret)
#voting machine 2 (format string)
mở trình disassembler lên tìm hàm main
test thử bin
ta thấy số byte nó bị hụt mất 2 byte
giờ ta đã có được vị trí của fmt là vị trí thứ 8
bây giờ tìm địa chỉ của flag 0x08420736
(do bin bị stripped nên phải tìm = disassembler)
lúc này ta cần tìm thêm:
- địa chỉ của hàm 1 hàm
GOT-PLT
(vìGOT
là địa chỉ tĩnh có thể redirect đến bất cứ đâu.), ở đây mình dùngexit_pls
dùng pwntools để craft payload
vì done lúc hết giải (và server đã down nên flag các bạn tìm trên mạng)
cuối cùng
Merry Chirstmas and Happy New Year