티스토리 뷰
FTZ level9
pw : apple
레벨 9입니다.
먼저 힌트를 보겠습니다.
재밌어보이는 코드가 나왔습니다.
fgets로 40바이트 만큼 크기가 10인 buf에 입력을 받네요.ㅋㅋㅋ
이것은 버퍼 오버플로우가 발생합니다.
그리고 buf2의 첫 2바이트가 “go”이면 쉘을 실행시켜줍니다.
버퍼 오버플로우로 buf2의 값을 수정하면 될 것 같습니다.
참고로 알아야 할 것이 있습니다.
‘먼저 선언된 변수는 높은 주소를 가진다’ 라는 것 인데요.
따라 메모리상에서
| buf | buf2 |
low<- -> high address
이렇게 배정이 됩니다.
메모리에서 변수는 2의 승만큼 배정되기 때문에
10바이트를 선언하니 16바이트가 메모리에 배정되죠.
따라서 buf[16]을 입력하고 go라는 문자열을 입력하면 되겠죠?
쉘이 실행된 상태입니다.
my-pass명령어를 입력하겠습니다.
Level10 Password is "interesting to hack!".
'pwnable > FTZ' 카테고리의 다른 글
[Hackerschool FTZ] Level11 write-up (0) | 2018.01.15 |
---|---|
[Hackerschool FTZ] Level10 write-up (0) | 2018.01.14 |
[Hackerschool FTZ] Level8 write-up (0) | 2018.01.14 |
[Hackerschool FTZ] Level7 write-up (0) | 2017.12.31 |
[Hackerschool FTZ] Level6 write-up (0) | 2017.12.31 |
Comments
최근에 올라온 글
최근에 달린 댓글
TAG
- srop
- hacking
- SQLi
- glibc
- rt_sigreturn
- HackCTF
- pwnable
- exit
- ebp change
- oob
- tcache
- shellcoding
- pwnable.tw
- fastbindup
- TLS
- pwable
- stack reusing
- fastbin
- overflow
- FSB
- heap
- 본선가고싶다
- codegate
- fsop
- 해킹
- Total
- Today
- Yesterday