상세 컨텐츠

본문 제목

08. orge -> troll

Pwnable Write-Up/02.hackerschool L.O.B

by RACC8N 2020. 3. 9. 23:34

본문

env 사용불가, buf 사용불가, argv[1] 사용불가, argv[2]이상 사용불가,

 

우리가 쓸 수 있는 곳은 한 곳 남아있다. argv[0]이다. 

 

argv[0]은 파일 명이므로 파일명을 쉘코드로 만들고 argv[0]가 들어있는 주소를  ret로 덮어보자.

 

argv[0]가 들어있는 주소를 찾았다. 그러면 쉘코드를 이름으로 하여 링크를 걸어보자.

 

여기서 \x2f는 /를 의미하므로 \x2f가 없는 쉘코드를 사용해야 한다.

 

다음과 같이 만든 후 디버거를 켜서 이름의 위치를 찾아보자.

 

0xbfffff66에 이름이 있는것을 확인할 수 있다.

Segmentation fault가 발생했고 core 파일이 생겼다. 확인해 보자.

 

주소를 0xbfffff92사용하여 다시 해보니 쉘이 따졌다. 

 

원래 파일에서도 성공적으로 쉘을 땄다.

 

다음 단계로 넘어가보자.

'Pwnable Write-Up > 02.hackerschool L.O.B' 카테고리의 다른 글

10. vampire -> skeleton  (0) 2020.03.10
09. troll -> vampire  (0) 2020.03.10
07. darkelf -> orge  (0) 2020.03.09
06. wolfman -> darkelf  (0) 2020.03.09
05. orc -> wolfman  (0) 2020.03.09

관련글 더보기

댓글 영역