본문 바로가기

스터디/wargames32

[USE-Wargames] IO SmashTheStack Level3 문제풀이 이번에는 Level3 을 풀어보도록 하겠습니다. level3@io:~$ cd /levels level3@io:/levels$ ./level03 Segmentation fault 프로그램을 실행하면 세그폴트가 뜹니다. level3@io:/levels$ ./level03 aa Address of hmm: 0x804847f level3@io:/levels$ ./level03 bb Address of hmm: 0x804847f 어떤값을 입력하든지 고정된 주소를 출력해줍니다. 이번에도 먼저 소스를 보고 필요하면 디버깅을 해보겠습니다. level3@io:/levels$ cat level03.c #include #include #include int good(int addr) { printf("Address of h.. 2011. 8. 12.
[USE-Wargames] IO SmashTheStack Level2 문제풀이 level2@io:~$ cd /levels level2@io:/levels$ ./level02 source code is available in level02.c 이번에는 프로그램을 실행하니 소스를 확인하라고 합니다. 소스에는 바로바로 주석을 달아가겠습니다. level2@io:/levels$ cat level02.c //a little fun brought to you by bla #include #include #include #include void catcher(int a) // 쉘 획득 { setresuid(geteuid(),geteuid(),geteuid()); printf("WIN!\n"); system("/bin/sh"); exit(0); } int main(int argc, char **a.. 2011. 8. 12.
[USE-Wargames] IO SmashTheStack Level1 문제풀이 앞으로 글 제목 앞에 문제별로 [USE] [BOF] [FSB] 등등이 나뉘어져 붙을겁니다. [USE] 는 이런 문제들을 가지고 나뉘어질것이며 BOF 와 FSB 는 말 안해도 아시죠? IO 워게임을 Level1 부터 다시 풀이해가겠습니다. 기존에 올라와있던 워게임처럼 간단하게 올릴생각은 아니구요, 처음부터 모르는게 있으면 완벽하게 올리려고 합니다. 편하게 작성하는거라 말투는 수시로 바뀔겁니다 ㅋㅅㅋ IO 워게임 공식 사이트 : http://io.smashthestack.org:84/ level1@io:~$ cd /levels level1@io:/levels$ ./level01 Usage: ./level01 서버에 접속해 Level1 문제파일을 실행하면 다음과 같이 뜬다. level1@io:/levels$ .. 2011. 8. 11.
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 : level4@io.smashthestack 문제풀이 워게임 문제풀이 - SmashTheStack : level4@io.smashthestack 문제풀이 이번 문제는 내가 처음 접했을때 어떻게 해야될지를 몰라서 막막했던 문제였다. 약간의 힌트를 얻어 풀기는 했지만 시스템해킹의 답은 일단은 문제를 많이 푸는것이다. 경험을 많이 쌓아가야 한다. 이렇게 기초문제들을 풀어감으로써 기초들을 많이 쌓아야지 좀 더 깊숙하고 이론적인 버퍼 오버플로우, 포맷스트링과 같은 기술을 연마할 수 있게 되는 것이다. 나는 대회들의 문제를 다시 풀어보거나 대회 보고서를 많이 읽으려고 애쓴다. 읽으면 읽음으로써 패턴들이 머리속에 들어오게 되고 그 패턴덕에 앞으로 문제를 푸는데 도움이 되기 때문이다. 이런 생각을 가지는데 '+α' 를 갖게 해준 나의 친구 pwn3r 에게 깊은 고마움의 .. 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.
SmashTheStack : level2@io.smashthestack 문제풀이 지금 할게 매우 많다만 계속 미루고 나면 할게 산을 이룰것같아서 하나하나 빠르게 하고 넘어가려고 한다. level2@io:/levels$ ./level02 source code is available in level02.c 프로그램을 실행하면 level02 소스코드를 확인하라는 메세지가 뜬다. level2@io:/levels$ cat level02.c //a little fun brought to you by bla #include #include #include #include void catcher(int a) // 쉘 획득! { setresuid(geteuid(),geteuid(),geteuid()); printf("WIN!\n"); system("/bin/sh"); exit(0); } int ma.. 2011. 7. 20.
SmashTheStack : level1@io.smashthestack 문제풀이 제 개인사이트에 작성한 문서라 문서 말투가 일기체입니다. 모두 수정할 수 없기에 이해해주시고 봐주시면 감사하겠습니다 ------------------------------------------------------------------------------------------- SmashTheStack 워게임은 제목을 봐서는 Stack 을 공격하는 스택 버퍼 오버플로우와 관련이 많다고 생각하겠지만 여러 분류로 나뉘어져 있는것 같다. 내가 풀고있는 IO 이 서버에서는 FTZ 초기레벨과 같이 기본 해킹 문제를 다루고 있는것 같다. 나의 숙적, 버퍼 오버플로우와 대면할때는 달라져 있겠지. 이미 문제를 풀어 팀에서는 과제로 제출했지만 좀 더 디테일하게 분석을 해 올릴 생각이며, 내가 민망하게끔 기초스러운것이라.. 2011. 7. 20.
[웹해킹] 와우해커(WowHacker) 문제풀이 - Level3 이번 Level3 문제풀이 게시글은 제가 네이버 블로그에 글을 너무 쓰지 않는것같아 블로그에 쓰고 링크만 올리도록 하겠습니다. 귀찮으시겠지만 읽고자 하시는분들은 네이버 블로그로 이동하셔서 읽어주시면 감사하겠습니다. 링크 : http://blog.naver.com/xodnr631/90097405100 2010. 10. 6.