ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • LOB LEVEL20(xavious ==> death_knight)
    CTF&Wargame/Lob 2016.01.04 01:35

    안녕하세요

    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"520);
                send(client_fd, "You : "60);
                recv(client_fd, buffer, 2560);
                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가 끝났네요



    'CTF&Wargame > Lob' 카테고리의 다른 글

    LOB FC3 iron_golem  (0) 2016.01.12
    LOB FC3 gate  (0) 2016.01.11
    LOB LEVEL20(xavious ==> death_knight)  (0) 2016.01.04
    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

    댓글 0

Designed by Tistory.