ID : level12

password : it is like this

 

1) 11단계와 비슷하게 생긴 힌트이다.

다른점은 문장을 입력받아, 해당 문장을 다시 출력하게 된다. 

딱봐도 overflow 문제인것 같다. 256 문장이 넘어가는 선에서 오버플로를 발생시키면 될것이다.

해당 메모리의 크기를 알기위해 gdb 를 사용해 어셈블리어 로 변환 해보자

 

2) level11 과 굉장히 비슷하다

이렇게 되어 있으므로, 입력 받는 부분에 268을 채운후, RET에 환경변수의 주소를 가리키면 될것이다.

 

 

3) 

환경변수 등록 및 주소 알아내는 방법은

https://ai-hong.tistory.com/23

 

F.T.Z - level11

ID : level11 password : what!@#$? 1) 11단계도 마찬가지로 cat 명령어를 통해 hint 파일을 열어보았다. 단순 코드로만 되어있는 힌트이다. main 함수가 실행되면, 3092 권한을 얻고 argv 배열의 내용을 str 변..

ai-hong.tistory.com

 

를 참조하도록한다. 모든 과정이 동일하다.

 

4) 이후, 해당 주소값을 알아 내었으니 , 동일한 방법으로 attackme 를 사용하자, 

하지만, 입력값을 직접 받아야 하므로, 해당 문자열은

파이프라이닝 을 통하여 인자를 전달 하도록한다.

 

5) 이렇게

(python -c 'print "A"*268+"\x15\xfc\xff\xbf"';cat) | ./attackme

를 입력하여, 인자를 전달하면 이와같이 뜬다.

 

6) 여기서 my-pass 를 입력하면 level13진입 완료

 

암호는

"have no clue"

 

+ Recent posts