상세 컨텐츠

본문 제목

[Write-up] Level 12

Pwnable Write-Up/01.hackerschool F.T.Z

by RACC8N 2019. 12. 7. 02:37

본문

HINT : attackme의 소스코드

 

level11과 비슷한 bof이다.

 

gets으로 str을 입력 받을 때 bof을 이용하여 ret값을 조작하여 쉘을 딸 수 있다.

 

환경변수에 shellcode를 입력한다.

 

0xbffffbfc를 보면 환경변수에 저장해놓은 \x90+shellcode가 들어있는 것을 알 수 있다.

 

이 주소를 ret 위치에 덮으면 된다.

 

gets함수 뒤에 break point 를 걸어 놓고 A를 입력해 준 결과,

 

0xbffffe860부터 A가 입력된 것을 볼 수 있다.

 

그리고 0xbfffe96c에 ret 주소가 적혀 있는 것도 확인 할 수 있다.

 

이 둘 사이의 거리를 계산해보면,

 

(buf + sfp) (268) + ret(4) 가 된다.

 

따라서 "A"*268 + "0xbffffbfc"(shellcode 실행 주소) 를 하게 되면 Shellcode가 실행 된다.

 

shellcode가 잘 실행되어 쉘을 얻을 수 있었다. level13의 password를 알았으니

 

이제 level13으로 올라가 보자.

'Pwnable Write-Up > 01.hackerschool F.T.Z' 카테고리의 다른 글

[Write-up] Level 14  (0) 2019.12.07
[Write-up] Level 13  (0) 2019.12.07
[Write-up] Level 11  (0) 2019.12.06
[Write-up] Level 10  (0) 2019.12.06
[Write-up] Level 9  (0) 2019.12.06

관련글 더보기

댓글 영역