전체 글

Write up (Wargame)/LOB

[Lord Of Bufferoverflow] 8. orge -> troll 풀이

login : orge password : timewalker 다시 보니까 여기선 하십시오체를 쓰는데 그냥 컨디션에 따라 달라지는거 같네요 ㅇㅅㅇ... 탐색전 cat을 할 때마다 너무 두근두근.. 어떤 코드가 있을까요. /* The Lord of the BOF : The Fellowship of the BOF - troll - check argc + argv hunter */ #include #include extern char **environ; main(int argc, char *argv[]) { char buffer[40]; int i; // here is changed if(argc != 2){ printf("argc must be two!\n"); exit(0); } // egghunter f..

Write up (Wargame)/LOB

[Lord Of Bufferoverflow] 7. darkelf -> orge 풀이

login : darkelf password : kernel crashed 탐색전 cat orge.c /* The Lord of the BOF : The Fellowship of the BOF - orge - check argv[0] */ #include #include extern char **environ; main(int argc, char *argv[]) { char buffer[40]; int i; if(argc < 2){ printf("argv error\n"); exit(0); } // here is changed! if(strlen(argv[0]) != 77){ printf("argv[0] error\n"); exit(0); } // egghunter for(i=0; environ[i]; ..

Write up (Wargame)/LOB

[Lord Of Bufferoverflow] 6. wolfman -> darkelf 풀이

login : wolfman password : love eyuna 탐색전 /* The Lord of the BOF : The Fellowship of the BOF - darkelf - egghunter + buffer hunter + check length of argv[1] */ #include #include extern char **environ; main(int argc, char *argv[]) { char buffer[40]; int i; if(argc < 2){ printf("argv error\n"); exit(0); } // egghunter for(i=0; environ[i]; i++) memset(environ[i], 0, strlen(environ[i])); if(argv[1][..

Write up (Wargame)/LOB

[Lord Of Bufferoverflow] 5. orc -> wolfman 풀이

login : orc password : cantata 탐색전 cat wolfman.c /* The Lord of the BOF : The Fellowship of the BOF - wolfman - egghunter + buffer hunter */ #include #include extern char **environ; main(int argc, char *argv[]) { char buffer[40]; int i; if(argc < 2){ printf("argv error\n"); exit(0); } // egghunter for(i=0; environ[i]; i++) memset(environ[i], 0, strlen(environ[i])); if(argv[1][47] != '\xbf') { pr..

Write up (Wargame)/LOB

[Lord Of Bufferoverflow] 4. goblin -> orc 풀이

계속 하십시오체를 썼는데, 저도 모르게 하다체로 계속 쓰다가 바꾸던 거라. 그냥 해라체로 써야겠습니다. login : goblin password : hackers proof 탐색전 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]; int i; if(argc < 2){ printf("argv error\n"); exit(0); } // egghunter for(i=0; environ[i]; i++) memset(environ[i], 0, strlen(e..

Write up (Wargame)/LOB

[Lord Of Bufferoverflow] 3. cobolt -> goblin 풀이

고블린을 사냥해봅시다. 예전에 게임 튜토리얼로 고블린 잡던 때가 떠오르네요.. login : cobolt password : hacking exposed 탐색전 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); } 이번엔 gets 함수에 대한 취약점인 것 같습니다. gets함수도 입력에서 길이제한이 없으므로 bof가 일어납니다. 더군다나 이제 main에서 인자를 받지 않고 stdin 이라고 되어있네요. 저번 문제에서 small buffer에 대해서 환경 변수를..

Write up (Wargame)/LOB

[Lord Of Bufferoverflow] 2. gremlin -> cobolt 풀이

코볼트를 사냥해봅시다. 이전 글에서 bof와 스택 프레임까지 어느정도 설명했으니 여기선 생략하겠습니다... (https://thfist-1071.tistory.com/entry/LOB-1-gate-gremlin-%ED%92%80%EC%9D%B4) 그리고 참고할 것 https://yehey-study.tistory.com/entry/gdb-%EB%AA%85%EB%A0%B9%EC%96%B4-%EB%AA%A8%EC%9D%8C gdb 명령어 모음 gdb 명령어 모음 시작과 종료 gdb (프로그램명): 시작 q(quit) / ctrl+d: 종료 file 프로그램명: 디버깅할 프로그램으로서 파일을 사용한다. disas 함수명: 특정 함수의 어셈블리 코드 출력 disas [주소] [주 yehey-study.tisto..

Develop & CS

GCP를 이용한 웹서버 구축

gcp 사이트에 들어가서 무료 시작하기를 눌러 절차를 진행해줍니다. 가입 시 카드번호까지 입력해가며 이거까지 해야돼? 싶은데 그래도 했습니다. GCP가입과 vm 구축 그렇게 들어가면 My First Project가 생기고 Compute Engine에서 VM 인스턴스로 들어갑니다. 들어가서 API를 설치하면 다음과 같은 화면으로 전환됩니다. 인스턴스 만들기를 클릭합니다. 인스턴스의 사양은 https://cloud.google.com/free/docs/free-cloud-features?authuser=1#compute Google Cloud 무료 프로그램 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 의견 보내기 Google Cloud 무료 프로..

그믐​
neutrinox4b1