일상/✨ 일상다반사
2023.02.16
며칠 전에 한국정보통신기술협회(TTA)에서 'ICT 시사상식 2023' 책자를 수령했다. 지난달에 TTA 홈페이지에서 접수를 받았는데 수량이 한정되어 있다는 문구를 보고 받을 수 있을까 했는데... 받았다!! ㅎㅎ 이걸로 ICT에 대한 상식을 쌓아야겠다. 책이 아니더라도 사이트에서 pdf로 내용을 볼 수 있다. 링크 주소는 다음과 같다. https://terms.tta.or.kr/noticeView.do?public_no=70 TTA정보통신용어사전 한국정보통신기술협회(TTA)는 정보통신 기술 발전과 타 분야와의 기술 융합에 따라 무수히 생성되는 정보통신용어를 해설하고 표준화하여, 전문가뿐만 아니라 비전문가들도 올바르게 활용할 수 terms.tta.or.kr
Wargame 🎮/🏹 LOB(Lord Of Bof)
2023.02.16
[LOB] xavius 이제 드디어 마지막 문제이다!! 📝 문제의 코드 /* 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("s..
Wargame 🎮/🏹 LOB(Lord Of Bof)
2023.02.14
[LOB] nightmare /* 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); } // check if the ret_a..
Wargame 🎮/🏹 LOB(Lord Of Bof)
2023.02.12
[LOB] succubus /* 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); } // overflow! strcpy(buffer..
Wargame 🎮/🏹 LOB(Lord Of Bof)
2023.02.12
[LOB] zombie_assassin /* 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(check != 2..
Wargame 🎮/🏹 LOB(Lord Of Bof)
2023.02.10
[LOB] assassin assassin으로 로그인하면 zombie_assassin파일이 있다. #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 of strcpy! strncpy(buffer, argv[1], 48); printf("%s\n", b..
Wargame 🎮/🏹 LOB(Lord Of Bof)
2023.02.10
[LOB] giant giant로 로그인을 하게 되면, assassin 파일을 확인할 수 있다. #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); } strcpy(buffer, argv[1]); printf("%s\n", buffer); // buffer+sfp hunter memset(..
Wargame 🎮/🏹 LOB(Lord Of Bof)
2023.02.09
[LOB] bugbear bugbear로 로그인하니 이제 giant파일이 있다. 이번에도 저번처럼 RTL을 이용한 문제인 거 같다. #include #include #include main(int argc, char *argv[]) { char buffer[40]; FILE *fp; char *lib_addr, *execve_offset, *execve_addr; char *ret; if(argc < 2){ printf("argv error\n"); exit(0); } // gain address of execve fp = popen("/usr/bin/ldd /home/giant/assassin | /bin/grep libc | /bin/awk '{print $4}'", "r"); fgets(buffer..