티스토리 뷰

포너블/LOB

LOB vampire 풀이

삼전동해커 2020. 8. 26. 11:42

vampire를 풀어보장.




이번엔 아예 모든 argv를 막았다...


orge 문제를 풀 때 환경변수의 argv[0]값이 초기화 되지 않았던걸 확인했다.

이번에도 그런지 확인해보자.


먼저 스택을 보자.



48만큼 스택을 확장했다. buffer40,i 40, saved_argc 4 만큼 딱 맞게 스택이 확장되었다.


모든 초기화를 끝낸 다음인 leave에 break문을 걸고, buffer를 채운다.


환경변수 부분을 확인해 보면



아직 남아있는게 확인된다.


그럼 orge때 처럼 이름을 nop+shell로 구성해서 익스플로잇을 할수 있겠다.


일단 nop+shell파일을 만들자.


쉘코드는

\x31\xc0\x50\xba\x2e\x2e\x72\x67\x81\xc2\x01\x01\x01\x01\x52\xb9\x2e\x62\x69\x6e\x83\xc1\x01\x51\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80


이걸 사용하자.



이렇게 만들고,

이번엔 끝부분에 nop을 좀 더 넣었다.


tmp 디렉토리에서 생성된걸 확인할 수 있다.



이제 ret에 넣을 이름의 주소를 찾으러 가자.



쉘코드 파일을 실행시켜 core 파일을 만든 후




코어 파일을 열어



이름이 있는 환경변수의 위치까지

x/1500s $esp 명령어로

 이동한다.



여기있다.

0xbfffff3f에서 ./를 제외하고 2칸 더 높은 곳인 0xbfffff41을 시작주소로 한다.


이후 심볼릭 링크를 걸어준 뒤,




파일을 실행시켜주면




풀린다.

'포너블 > LOB' 카테고리의 다른 글

LOB golem 풀이  (0) 2020.09.03
LOB skeleton 풀이  (0) 2020.08.30
LOB troll 풀이  (0) 2020.08.25
LOB orge 풀이  (0) 2020.08.25
LOB darkelf 풀이  (0) 2020.08.25
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함