watevrCTF 2019

Nguyễn Tín
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ùng exit_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

--

--