购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.1 什么是缓冲区溢出攻击

缓冲区溢出攻击之所以危害性极大,主要原因是入侵者利用系统存在的缓冲区溢出漏洞直接向其发送超出缓冲区所能处理的长度的指令,致使系统进入不稳定的状态,这是从程序或系统的关键敏感区域进行攻击。下面剖析缓冲区溢出攻击,因为,只有知己知彼,才能百战不殆。

4.1.1 缓冲区溢出概述

要想充分了解什么是缓冲区溢出,首先需要了解什么是缓冲区。缓冲区是程序运行时自动向计算机内存申请的一个连续的块,用于保存程序给定类型的数据。但是,一般为了节省内存的使用大小,操作系统会利用一个有动态分配变量的程序在程序运行时才决定给其分配多少内存。

由于缓冲区的分配是由系统的一个动态分配变量程序决定,那么,如果程序在动态分配缓冲区放入太多的数据会出现什么现象呢?很显然,它溢出了,这就像往杯子注入水一样,一旦水超过了杯子的容量,就会溢出而流到杯子外面。对于计算机来说,这就造成了缓冲区的溢出,这些溢出的数据就会“流到”其他的程序或系统缓冲区之中,覆盖其他程序或系统的合法数据,进而被其他程序或系统所执行。

正是由于这个溢出现象被入侵者发现了,因此,他们就会向程序的缓冲区写入超出其长度的数据,从而破坏程序的堆栈结构,使程序转向执行自己所设计的入侵执行,以达到攻击的目的,这就是缓冲区溢出攻击。

总之,由于缓冲区溢出攻击具有易于攻击且危害性极大的特点,已经成为当前很流行的一种网络攻击方法,这给系统的安全带来了极大的隐患。作为计算机用户或网络管理员一定要及时有效地检测出计算机网络系统的入侵行为,做好防范。

4.1.2 缓冲区溢出简单实例

在介绍了缓冲区溢出的相关内容之后,对于没有一定计算机知识的用户来说,可能还很难理解,那么下面就介绍一个缓冲区溢出的简单实例,具体形象地介绍一下什么是“溢出”。

这里以Windows 10操作系统为例进行介绍,产生缓冲区溢出的过程如下。

Step 01 在Windows 10操作系统界面选择“开始”→“运行”菜单命令,打开“运行”对话框,在“打开”文本框中输入cmd,按Enter键,打开“命令提示符”窗口,如下图所示,这是Windows系统自带的命令行工具,可执行各种内置的命令程序。

Step 02 在“命令提示符”窗口中输入dir命令,然后按Enter键,即可显示系统目录中的所有文件、目录及相关信息,如下图所示。

Step 03 dir命令还可以指定列表显示的路径,在“命令提示符”窗口中输入dir c:\命令,然后按Enter键,即可显示C盘根目录下的文件以及目录信息,如下图所示。

Step 04 如果在“命令提示符”窗口中指定一个不存在的路径,那么将会显示“文件名、目录名或卷标语法不正确。”提示信息。例如,输入dir \\?\cccccccccccc命令,然后按Enter键,即可显示执行结果,如下图所示。

Step 05 从上述实例中,可以看出dir命令是一个功能相对比较完善的显示文件及目录信息的程序,似乎与系统的安全并没有什么关系。但是如果改变上述的命令,在“命令提示符”窗口中输入如下图所示的dir命令dir \\?\cccccccccccc……ccccccccccccccc(多于200个c)。

Step 06 输入完毕后,按Enter键,即可看到一个意外的结果,弹出cmd程序错误的信息提示框,如下图所示,这就是一个典型的溢出小实例。 5ghjzbITXcdTTGMrbUoUJUG+LsTly8tGHxFb7zxtmYAyJHZP/jT55S3eoSLghLZO

点击中间区域
呼出菜单
上一章
目录
下一章
×