티스토리 뷰
32c3 CTF 2015 teufel
mmap으로 mapping하는 부분과 mprotect로 권한 바꿔주는 부분을 잘 봐야 하는 문제,
아래 정보들을 가지고 익스플로잇을 하면 됨.
(gdb) info proc exe
process 30785
exe = '/root/pwnable/32c3CTF/teufel'
(gdb) shell cat /proc/30785/maps
...
7ffff7ff3000-7ffff7ff4000 ---p 00000000 00:00 0
7ffff7ff4000-7ffff7ff5000 rw-p 00000000 00:00 0 [stack:30785]
7ffff7ff5000-7ffff7ff6000 ---p 00000000 00:00 0
...
(gdb) x/wx $rsp + 0x08
0x7ffff7ff4fe8: 0x00000a44
(gdb) p /d 0x7ffff7f5000 - 0x7ffff7f4fe8
$2 = 24
우리가 쓸 수 있는 스택은 위와 같이 24바이트 뿐이라서 ret밖에 바꾸질 못함. 그래서 fake RBP주고 다시 read로 ret를 돌리면 writable한 영역에서
RTL Payload를 동작시킬 수 있음
'Pwnable > CTF' 카테고리의 다른 글
BCTF 2016 bcloud (0) | 2016.04.05 |
---|---|
Holyshield 2016 Exploit300 VOD exp only (0) | 2016.01.17 |
32c3 CTF readme (0) | 2015.12.30 |
SECCON 2015 Quals FSB:TreeWalker (0) | 2015.12.09 |
Plaid CTF 2014 pork (0) | 2015.10.25 |
댓글