반응형
해커스쿨 ftz Level16
MacOS에서 푸는 해커스쿨 ftz
해커스쿨 ftz level16 단계이다.
먼저 ftz서버를 실행한다.
서버 실행을 모르면 ftz trainer1 단계에 소개되어 있다.
Mac의 터미널을 열어 서버에 접속합니다.
명령어는
ssh -c aes128-cbc level16@서버ip
라고 입력합니다.
Id: level16, pw: about to cause mass 로 로그인하여 파일을 확인하였다.
hint를 확인하니 shell함수와 printit함수, main함수가 보인다.
Main함수는 printit 함수의 주소를 호출하는데 이를 shell함수의 주소로 바꾸어주면 될 것 같다.
gdb를 통해 main함수를 확인했다.
20바이트의 buf와 20바이트의 dummy를 아무값으로 채운 후 call 부분을 shell 함수의 주소로 덮어주면 될 것 같다.
Printit 함수의 주소값은 0x08048500이다. 메인함수를 살펴보면 ebp에 값을 넣는것이 보인다.
Shell함수의 주소를 보니 0x080484d0임을 알 수 있다.
알아낸 주소를 포함하여
(python -c 'print "A"*40+"\xd0\x84\x04\x08"'; cat) | ./attackme
라고 입력을 해주었다. 입력을 받도록 나왔고 my-pass를 입력하니 level17의 패스워드가 나왔다.
끝.
반응형
'Security&Hacking > 시스템 해킹' 카테고리의 다른 글
해커스쿨 ftz level18 (macOS) (0) | 2020.01.19 |
---|---|
해커스쿨 ftz level17 (macOS) (0) | 2020.01.19 |
해커스쿨 ftz level15 (macOS) (0) | 2020.01.19 |
해커스쿨 ftz level14 (macOS) (0) | 2020.01.19 |
해커스쿨 ftz level13 (macOS) (0) | 2020.01.19 |