상세 컨텐츠

본문 제목

10. vampire -> skeleton

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

by RACC8N 2020. 3. 10. 10:51

본문

환경변수 사용불가, buf 사용불가, argv 전체 사용불가.

 

모두 사용불가이므로 쉘코드를 어디에 넣어야할지 모르겠다. 

 

우선 main함수가 끝나기 전의 모두 초기화된 메모리를 확인해보자.

 전부 다 0으로 초기화 되었지만, 마지막에 초기화가 안된 값을 찾을 수 있었다. 이 값이 무엇을 의미하는지 확인해보자.

이 값은 argv[0]와 동일한 값이다. argv가 저장되는 영역은 위에서 이미 다 초기화 됐는데,

 

초기화되지 않은 영역에있는 값이 argv[0]값과 같은 걸 알았으니 argv[0]를 쉘코드로 바꿔보자.

 

쉘코드로 바꾼 후 초기화 하기 전의 모습이다.  값들을 다 확인할 수 있다.

main함수 ret직전에 bp를 걸어서 확인해본 결과 저 부분을 제외하고는 모두 다 초기화되는게 맞다.

 

이제 저 주소를 ret으로 덮어써보자.

성공하였다.

 

다음 단계로 넘어가보자.

 

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

12. golem -> darknight  (0) 2020.03.10
11. skeleton -> golem  (0) 2020.03.10
09. troll -> vampire  (0) 2020.03.10
08. orge -> troll  (0) 2020.03.09
07. darkelf -> orge  (0) 2020.03.09

관련글 더보기

댓글 영역