level16
-
[FTZ]해커스쿨(HackerSchool) LEVEL16 풀이(Solution)미사용/##Security 2015. 8. 15. 01:20
HackerSchool FTZ WARGAME Solution Start : 15.07.03 LEVEL16 [그림 1] hint 를 확인해 보면 [그림 1]과 같이 출력이 된다. 코드를 분석해보면 shell 함수와 printit 함수가 정의되어 있고, main 함수에서는 void 타입의 call 함수 포인터가 선언되어 있다. 그리고 해당 함수 포인터에는 printit 함수의 포인터가 저장되어 있으며 나중에는 call에 저장된 포인터로 함수를 호출한다. shell 함수에 상위 권한으로의 쉘을 실행시키는 코드가 포함되어 있으므로 우리는 이 shell 함수가 실행되도록 해야한다. [그림 2] gdb로 열어서 info functions 를 입력하면 정의된 함수 정보가 출력이 되는데 그 중 shell 함수의 주소값..