분류 전체보기
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgFl7H%2FbtrM5O6e5vV%2F9TzZfCRSMD44qyvSHhQw20%2Fimg.png)
[lob] xavius -> death_night
1. intro 2. code 및 분석 2.1. C code /* The Lord of the BOF : The Fellowship of the BOF - dark knight - remote BOF */ #include #include #include #include #include #include #include #include #include main() { char buffer[40]; int server_fd, client_fd; struct sockaddr_in server_addr; struct sockaddr_in client_addr; int sin_size; if((server_fd = socket(AF_INET, SOCK_STREAM, 0)) == -1){ perror("socket"..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdKV0cR%2FbtrMIH7J0bf%2FFpK6gjc4fEcdH6q3ycXf70%2Fimg.png)
[lob] nightmare -> xavius
1. intro 2. code 및 분석 2.1. C code /* The Lord of the BOF : The Fellowship of the BOF - xavius - arg */ #include #include #include main() { char buffer[40]; char *ret_addr; // overflow! fgets(buffer, 256, stdin); printf("%s\n", buffer); if(*(buffer+47) == '\xbf') { printf("stack retbayed you!\n"); exit(0); } if(*(buffer+47) == '\x08') { printf("binary image retbayed you, too!!\n"); exit(0); } // ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcEvKaB%2FbtrMJk5eRtx%2FfsQ8IhKBB3KWZpfVHMRoC0%2Fimg.png)
[lob] succubus -> nightmare
1. intro 2. code 및 분석 2.1. C code /* The Lord of the BOF : The Fellowship of the BOF - nightmare - PLT */ #include #include #include #include main(int argc, char *argv[]) { char buffer[40]; char *addr; if(argc < 2){ printf("argv error\n"); exit(0); } // check address addr = (char *)&strcpy; if(memcmp(argv[1]+44, &addr, 4) != 0){ printf("You must fall in love with strcpy()\n"); exit(0); } // over..
source code site
Glibc source code (glibc-2.36.9000) - Bootlin Glibc source code (glibc-2.36.9000) - Bootlin elixir.bootlin.com 개인적으로 여기가 제일 나아보인다. Code browser - Explore C++ code on the web Code browser - Explore C++ code on the web Code Browser for C & C++ by KDAB code.woboq.org has become codebrowser.dev. Read more here This is an online C and C++ code browser. It focuses on improving the code navigation with..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcRowuZ%2FbtrMjitrnbX%2F6KXSV5e3x0NKI2SGNb2R71%2Fimg.png)
[lob] zombie_assassin -> succubus
1. intro 2. code 및 분석 2.1 C code /* The Lord of the BOF : The Fellowship of the BOF - succubus - calling functions continuously */ #include #include #include // the inspector int check = 0; void MO(char *cmd) { if(check != 4) exit(0); printf("welcome to the MO!\n"); // olleh! system(cmd); } void YUT(void) { if(check != 3) exit(0); printf("welcome to the YUT!\n"); check = 4; } void GUL(void) { if..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboM9Dx%2FbtrMiDLNcDR%2Fx77V1l8fzkGXeATgPsdyW0%2Fimg.png)
[lob] assassin -> zombie_assassin
1. intro 2. code 및 분석 2.1. C code /* The Lord of the BOF : The Fellowship of the BOF - zombie_assassin - FEBP */ #include #include main(int argc, char *argv[]) { char buffer[40]; if(argc < 2){ printf("argv error\n"); exit(0); } if(argv[1][47] == '\xbf') { printf("stack retbayed you!\n"); exit(0); } if(argv[1][47] == '\x40') { printf("library retbayed you, too!!\n"); exit(0); } // strncpy instead..