티스토리 뷰
[pwnable.kr] Toddler's Bottle - bof(5 pt) write-up
폰케알 버퍼 오버 플로우 문제입니다.
gets함수에서 오버플로우가 가능하겠군요.
메모리 구조는
func()의 전달인자 | sfp | ret | key | 더미 |overflowme[32]
이 될 듯 합니다.
key의 값이 0xcafebabe 이면 자동으로 쉘을 띄어 줍니다.
버퍼 오버 플로우로 key의 값을 변조 해주면 되겠습니다.
먼저 gdb로 바이너리 파일을 분석하겠습니다.
ebp-02c가 overflowme 버퍼의 시작주소가 되겠군요.
그리고 ebp+8 과 0xcafebabe를 비교합니다.
ebp-02c 에서 ebp+8 의 거리는
수학시간에 배웠 듯이 뒤에서 앞을 빼면 거리가 나옵니다. 52이군요.
그럼 52만큼 값을 채워주고 0xcafebabe를 맞춰주면 될 것 같습니다.
쉘이 따졌습니다.
ls 명령어가 먹히군요.
flag파일을 봅시다.
플래그가 나옵니다.
'pwnable > pwnable.kr' 카테고리의 다른 글
[pwnable.kr] Toddler's Bottle - shellshock (1 pt) write-up (0) | 2018.01.01 |
---|---|
[pwnable.kr] Toddler's Bottle - random (1 pt) write-up (0) | 2017.12.19 |
[pwnable.kr] Toddler's Bottle - flag (7 pt) write-up (0) | 2017.12.18 |
[pwnable.kr] Toddler's Bottle - collision(3 pt) write-up (0) | 2017.12.18 |
[pwnable.kr] Toddler's Bottle - fd(1 pt) write-up (0) | 2017.12.18 |
Comments
최근에 올라온 글
최근에 달린 댓글
TAG
- HackCTF
- SQLi
- fastbin
- overflow
- rt_sigreturn
- pwable
- heap
- srop
- TLS
- exit
- 해킹
- pwnable.tw
- shellcoding
- ebp change
- 본선가고싶다
- codegate
- fsop
- pwnable
- stack reusing
- hacking
- glibc
- fastbindup
- tcache
- oob
- FSB
- Total
- Today
- Yesterday