시스템 해킹 문제풀이2 SmashTheStack : level5@io.smashthestack 문제풀이 이번 문제는 버퍼 오버플로우 문제이다. level5@io:/levels$ cd /levels level5@io:/levels$ ./level05 level5@io:/levels$ cat level05.c #include #include int main(int argc, char **argv) { char buf[128]; // 128 바이트 변수 선언 if(argc < 2) return 1; // argc(인자의 개수)가 2 보다 적으면 프로그램 종료 strcpy(buf, argv[1]); // argv[1] 을 buf 로 복사 - 버퍼 오버플로우 취약점 printf("%s\n", buf); // argv[1] 이 복사된 buf 내용 출력 return 0; } STRCPY 함수에서 문자열 복사할때 제한값.. 2011. 7. 29. SmashTheStack : level3@io.smashthestack 문제풀이 현재 팀에서는 Level4 를 풀고 있다. 미리미리 풀면 좋겠지만 시간이 많지도 않고 과반수가 문제풀이를 작성해야지만 넘어가는 수준이라 여유있게 공부할 수 있다. level3@io:/levels$ ./level03 Segmentation fault level3@io:/levels$ ./level03 aa Address of hmm: 0x804847f 프로그램을 그냥 실행하면 세그먼폴트가 뜨고 인자를 넘겨주면 어드레스가 출력되는데 고정 어드레스인 것 같다. level3@io:/levels$ ./level03 aa bb Address of hmm: 0x804847f level3@io:/levels$ ./level03 cc dd Address of hmm: 0x804847f 소스가 주어져 있으니 소스를 보면서.. 2011. 7. 21. 이전 1 다음