안녕하세요
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | /* The Lord of the BOF : The Fellowship of the BOF - dark knight - remote BOF */ #include <stdio.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <sys/types.h> #include <netinet/in.h> #include <sys/socket.h> #include <sys/wait.h> #include <dumpcode.h> 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"); exit(1); } server_addr.sin_family = AF_INET; server_addr.sin_port = htons(6666); server_addr.sin_addr.s_addr = INADDR_ANY; bzero(&(server_addr.sin_zero), 8); if(bind(server_fd, (struct sockaddr *)&server_addr, sizeof(struct sockaddr)) == -1){ perror("bind"); exit(1); } if(listen(server_fd, 10) == -1){ perror("listen"); exit(1); } while(1) { sin_size = sizeof(struct sockaddr_in); if((client_fd = accept(server_fd, (struct sockaddr *)&client_addr, &sin_size)) == -1){ perror("accept"); continue; } if (!fork()){ send(client_fd, "Death Knight : Not even death can save you from me!\n", 52, 0); send(client_fd, "You : ", 6, 0); recv(client_fd, buffer, 256, 0); close(client_fd); break; } close(client_fd); while(waitpid(-1,NULL,WNOHANG) > 0); } close(server_fd); } | cs |
이렇게 소스가 길다
이문제는 remote exploit 문제다
그냥 주소를 브루트포싱을 해서 쉘을 따자
포트를 6666으로 하고
코드를 작성해보자
제 LOB 아이피는 제 실제 아이피라 지웠습니다
NC로 열고 실행하면
사진을 찍다가 저건 뺐네요...NC에서 my-pass를 친후
이렇게 성공했습니다 드디어 LOB가 끝났네요
'WARGAME > Lob' 카테고리의 다른 글
LOB FC3 iron_golem (0) | 2016.01.12 |
---|---|
LOB FC3 gate (0) | 2016.01.11 |
LOB LEVEL19 (nightmare ==> xavious) (0) | 2016.01.03 |
LOB LEVEL18 (succubus ==> nightmare) (0) | 2016.01.03 |
LOB LEVEL17 (zombie_assassin ==> succubus) (0) | 2015.12.31 |