zoukankan      html  css  js  c++  java
  • IP安全,DDoS攻击、tearDrop攻击和微小IP碎片攻击

    arp安全

    以太网帧的type =0806 表示arp
    arp攻击:hack伪造arp应答包给target(当target使用arp广播寻找目的mac时,回答mac=hack)

    IP报文格式

    20字节头部+最多40字节选项,IP数据报最长65535字节
    MTU 1500字节,帧头6+6+2=14字节
    常用ip头内容:
    前4位,协议(ipv4 ipv6),然后是4位的头部长度,单位是4字节
    标识字段用来唯一表示一个IP数据报,IP分片,根据标识和偏移重组,偏移量fragment offset的单位是8字节
    checksum只校验头部
    TTL,最大生存时间,即IP数据报被丢弃前,最多能经过几个节点,每过一节点,TTL减1,减到0时丢弃

    DoS攻击

    构造两个分片,第一个分片的偏移为0;第二个分片的偏移是64800。为了重组,目标主机会分配64k的缓存,可通过不断发包消耗目标内存。

    tear drop攻击

    利用系统处理IP分片重叠的漏洞
    前提:当产生IP分片重叠时,系统采取这种策略——由第一分片覆盖重叠区域,并将第二分片的剩余部分重组到第一分片后。

    先计算到底重叠长度,len=pre->end - p->offset;//pre代表前分片,p代表后分片
    然后将指向第二个分片的指针朝后移动这个长度,p->offset += len;
    接下来需要将第二个分片的剩余内容拷贝一下,以形成完整的数据报文。
    首先需要计算第二个分片还剩余多少字节。unsigned short fp->len = p->end - p->offset;
    接下来就可以从ptr开始,拷贝fp->len字节的内容,就完成了处理。
    对于正常的重叠
    在这里插入图片描述
    对于不正常的重叠,fp->len 会产生溢出,len变成一个很大的数(2^16 + 负数),拷贝后,很容易把内存中系统内核部分覆盖,导致崩溃。
    不正常的重叠

    微小碎片攻击

    包过滤防火墙,通过过滤SYN包,防止外部链接。假设防火墙filter的规则是:如果IP数据报的第一分片含有SYN,则拒绝这一分片,放行其他分片。
    IP数据报最小分片长度为68字节,利用i选项字段填满ip头=60字节,,则第一分片数据部分可以只有8字节
    第一分片只包含tcp头的前8字节,而syn被放在了第二分片,从而避开了filter。此时第二分片的offset为1。
    微小碎片
    如何防御:
    如果第二分片offset ==1 且是tcp协议,则丢弃第二分片

    IP欺骗,留后门

    • 假设hack要攻击某主机x,x有一个terminal与某sever建立了连接。 假设tcp的seq是有规律的。
    • hack 向server发syn洪泛,保证server在收到syn+ack后,不会发送RST
    • hack 伪造ip(与server不同)向x-terminal发包,寻找seq的规律
    • 冒充server_ip,根据seq规律,与x-terminal件里tcp连接
    • 发包命令x-t将外界设置为信任,echo ++ > ./rhost

    参考:
    https://zhuanlan.zhihu.com/p/58610182
    《TCP/IP详解》

  • 相关阅读:
    Account group in ERP and its mapping relationship with CRM partner group
    错误消息Number not in interval XXX when downloading
    错误消息Form of address 0001 not designated for organization
    Algorithm类介绍(core)
    梯度下降与随机梯度下降
    反思
    绘图: matplotlib核心剖析
    ORB
    SIFT
    Harris角点
  • 原文地址:https://www.cnblogs.com/chzhyang/p/11360046.html
Copyright © 2011-2022 走看看