-
[LOB] Vampire -> Skeleton Write-up표튜터와 함께하는 Pwnable/The Lord Of the BOF Write-up 2019. 2. 27. 16:54
혹시나 이상하거나 잘못된 것이 있다면 댓글 부탁드립니다.
이번 문제는 Vampire에서 Skeleton으로 가는 문제이다.
생각보다 쉬웠다ㅎㅎ 코드를 보자!
음 모든 인자들을 초기화하는 코드가 보여진다.
하지만 걱정이 없던 이유는 저번에 문제를 풀다가 발견했던
유저영역 바로직전의 메모리값이었다.
참고 : https://xn--vj5b11biyw.kr/119
그렇기 때문에 우리는 argv[0] 값을 바꾸고 초기화하더라도
초기화되지않는 메모리를 알고 있었고 그 부분을 활용하기로 했다.
심볼릭 링크와 nop sled 그리고 쉘코드를 이용해서 진행하였다.
뒤에도 nop을 준 이유는 혹시나 쓰레기값이 들어가서 쉘코드가 제대로 실행되지 않을까봐 넣어주었다.
역시나 초기화되지않은 우리가 넣어준 nop sled + shellcode 파일명이 들어있었다.
여기서 실수했던 것은 인자로 넘겨줄 ret 주소를 0xbfffff20으로 주었다..
\x20은 공백을 의미하기 때문에 제대로된 주소값으로 인식이 되지않았고
쉘이 따지지 않았다..쩝.. 살짝 삽질했다.. ㅎㅎ
* Thanks to Py0zz1 *
그래서 0xbfffff30을 주어서 깔끔하게 쉘을 따냈다.
이제 복사본 skeleten이 아닌 skeleton파일에 심볼릭 링크를 다시 걸어주고~
위의 과정대로 공격을 진행하면~
짜잔~ 진짜 쉘을 딸 수 있게 된다.
다음 문제로~
반응형'표튜터와 함께하는 Pwnable > The Lord Of the BOF Write-up' 카테고리의 다른 글
[LOB] Golem -> Darkknight Write-up (0) 2019.03.02 [LOB] Skeleton -> Golem Write-up (0) 2019.02.27 [LOB] Troll -> Vampire Write-up (0) 2019.02.26 [LOB] Orge -> Troll Write-up (0) 2019.02.10 [LOB] Darkelf -> Orge Write-up (0) 2019.02.10 댓글