본문 바로가기

전체보기656

[BOF-Wargames] LOB Load of BOF LEVEL6 (wolfman -> darkelf) ------------------------------------------------------------------------------------------------------------------------- LOB Level6 [ Wolfman -> Darkelf ------------------------------------------------------------------------------------------------------------------------- [wolfman@localhost wolfman]$ ls darkelf darkelf.c [wolfman@localhost wolfman]$ ./darkelf argv error [wolfman@localhost wol.. 2011. 8. 19.
[BOF-Wargames] LOB Load of BOF LEVEL5 (orc -> wolfman) 문제풀이 ------------------------------------------------------------------------------------------------------------------------- LOB Level5 [ Orc -> Wolfman ] ------------------------------------------------------------------------------------------------------------------------- [orc@localhost orc]$ ls wolfman wolfman.c xodnr [orc@localhost orc]$ ./wolfman aa aa stack is still your friend. [orc@localh.. 2011. 8. 19.
[위기의 한국 SW 산업] 명문대 나와도 SW개발자는 시간급 인생…"장가가기도 힘들어" 원본링크 : http://news.chosun.com/site/data/html_dir/2011/08/19/2011081900309.html ------------------------------------------------------------------------------- 한국에 애플·구글이 없는 이유… 젊은 층의 소프트웨어 외면 가속화 배우는 학생이 없다 - 90년대 초엔 의대보다 인기, 요즘은 충원 걱정할 정도 정부·기업의 푸대접 - SW 개발을 단순 노동 취급… 투자 안하고 베껴쓰기 선호1991학년도 대입 학력고사 전국 수석은 전남 목포 덕인고 출신인 한모(37)씨였다. 그가 지원한 곳은 의예과도, 전기공학과도 아닌 서울대 컴퓨터공학과였다. 1980년대 후반부터 1990년대 중반까지 컴퓨.. 2011. 8. 19.
[GDB-Analysis] GDB 바이너리 디버깅 3 이번에는 저번에 두개로 했던 것들과 strcat 함수를 곁들여 컴파일해 디버깅을 해보도록 하겠습니다. 다음부터는 버퍼 오버플로우와 관련된 함수를 주제로 디버깅 연습을 해갈 생각입니다. [gate@localhost tmp]$ cat t3.c #include #include int main(int argc, char *argv[]) { char buffer[40]; printf("%d ", argc); printf("%s ", argv[0]); printf("%s ", argv[1]); printf("%s ", argv[2]); printf("%s\n", argv[3]); strcpy(buffer, argv[1]); printf("%s\n", buffer); strcat(argv[2], argv[3]); p.. 2011. 8. 18.
[GDB-Analysis] GDB 바이너리 디버깅 2 이번에는 버퍼 오버플로우 취약점으로 자주 등장하는 strcpy 함수를 디버깅 해보겠습니다. 너무 쉬워보일수도 있겠지만 모든것들이 패턴이 있습니다. 함수가 호출되기전에 어떻게 인자를 참조하는지 이 작업은 무엇을 의미하는지, 저 또한 공부한지 별로 안됬지만 조금 알것같습니다. 이런 밑거름들을 차근차근 해나가다가 나중에는 워게임 하나를 디버깅해 취약점을 찾아낸다는지.. 가능할겁니다. [gate@localhost tmp]$ cat t2.c int main(int argc, char *argv[]) { char buffer[40]; strcpy(buffer, argv[1]); // argv[1] 을 buffer 에 복사합니다. printf("%s\n", buffer); // 복사된 buffer 을 출력합니다. }.. 2011. 8. 17.
[GDB-Analysis] GDB 바이너리 디버깅 1 제가 직접 간단하게 소스를 만들어 디버깅을 할 생각입니다. 워게임을 풀면서 많이나오는 소스들을 가지고 디버깅을 해볼 생각입니다. (argv, strncpy 인자 불러오기 등등) 물론 IDA 로해야지 쉽고 빠르지만 그것보다 평소 디버깅 실력을 높이기위해 도전해봅니다. 제일 처음으로 GDB 로 디버깅을 하여 강의할 프로그램은 다음과 같습니다. [gate@localhost tmp]$ cat t1.c #include int main(int argc, char *argv[]) { printf("%s ", argv[0]); printf("%s ", argv[1]); printf("%s ", argv[2]); printf("%s\n", argv[3]); return 0; } [gate@localhost tmp]$ ... 2011. 8. 17.
[IDA-Analysis] Binary Wargames Level1 안녕하세요, 이 게시판에서는 ELF 파일, 즉 바이너리 파일을 받아 C 언어로 소스화 하면서 모르는것은 알아가면서 필요한 키 값을 찾아가는 문제를 풀어가는 게시판입니다. 파일은 제공되지 않으며 만약 이렇게 분석을 하실 생각이라면 아이다 프로가 필요합니다. 이번 문제풀이의 목표는 본 파일에서 암호화를 하는데 똑같은 방법으로 "Deep into the system" 을 암호화해야 합니다. 단, UTC 2012년 12월12일 12시12분 12초 (24시간기준) 에 프로그램을 실행 했을 때의 암호화된 값을 적어야 한다. 무슨말이냐면 유닉스 시스템 용어로 타임스탬프라고 1970년 1월 1일 00:00:00를 기준으로 경과한 초를 의미하는데 이 점을 이용해 UTC 2012년 12월 12일 12시 12분 12초 에의.. 2011. 8. 17.
[BOF-Wargames] LOB Load of BOF LEVEL4 (goblin -> orc) 문제풀이 Goblin -> Orc LOB 문제풀이를 시작하도록 하겠습니다. [goblin@localhost goblin]$ ls orc orc.c [goblin@localhost goblin]$ ./orc argv error [goblin@localhost goblin]$ ./orc aa aa aa stack is still your friend. [goblin@localhost goblin]$ cat ./orc.c /* The Lord of the BOF : The Fellowship of the BOF - orc - egghunter */ #include #include extern char **environ; main(int argc, char *argv[]) { char buffer[40]; // Buff.. 2011. 8. 17.
[BOF-Wargames] LOB Load of BOF LEVEL3 (cobolt -> goblin) 문제풀이 [cobolt@localhost cobolt]$ ls goblin goblin.c [cobolt@localhost cobolt]$ ./goblin [cobolt@localhost cobolt]$ ./goblin aa aa aa 프로그램을 입력해도 아무 응답이 없네열... [cobolt@localhost cobolt]$ cat goblin.c /* The Lord of the BOF : The Fellowship of the BOF - goblin - small buffer + stdin */ int main() { char buffer[16]; gets(buffer); printf("%s\n", buffer); } 확인해보니 아까와 다른 방식입니다. 이번에는 프로그램을 실행하고 입력하는 방식입니다. 이럴.. 2011. 8. 16.