level18
-
[FTZ]해커스쿨(HackerSchool) LEVEL18 풀이(Solution)미사용/##Security 2015. 8. 15. 01:21
HackerSchool FTZ WARGAME Solution Start : 15.07.03 LEVEL18 [그림 1] hint를 열어보면 [그림 1]과 같이 꽤 긴 코드가 출력된다. 코드에 나온 함수를 검색해보니 네트워크 소켓 프로그래밍에서 사용되는 다중 입출력에 사용되는 함수였다. 이를 풀기 위해선 다중 입출력에 대해 공부를 해야 했는데 시간이 너무 오래걸려 주요 함수 부분이 하는 역할정도만 파악을 하고 문제를 풀었다. 우선 count가 100 이상이 되면 어떤 동작을 하든 "what are you trying to do \n"이 출력이 되는데 이 코드는 버퍼 오버플로우를 방어하기 위한 방어 코드라는 것을 알 수 있다. 그리고 check 변수의 값이 0xdeadbeef 일 경우 shellout() 이라..