据不完全统计,在当前网络与分布式系统安全中,被广泛利用的50%以上都是缓冲区溢出。
要想充分了解什么是缓冲区溢出,首先需要了解什么是缓冲区。缓冲区是程序运行时自动向计算机内存申请的一个连续的块,用于保存程序给定类型的数据。但是,一般为了节省内存的使用大小,操作系统会利用一个有动态分配变量的程序在程序运行时才决定给其分配多少内存。
由于缓冲区的分配是由系统的一个动态分配变量程序决定,那么,如果程序在动态分配缓冲区放入太多的数据会出现什么现象呢?很显然,它溢出了,这就像往杯子注入水一样,一旦水超过了杯子的容量,就会溢出而流到杯子外面,对于计算机来说,这就造成了缓冲区的溢出,这些溢出的数据就会“流到”其他的程序或系统缓冲区之中,覆盖其他程序或系统的合法数据,进而被其他程序或系统所执行。
正是由于这个溢出现象被入侵者发现了,因此,他们就会向程序的缓冲区写入超出其长度的数据,从而破环程序的堆栈结构,使程序转向执行自己所设计的入侵执行,以达到攻击的目的,这就是缓冲区溢出攻击。
总之,由于缓冲区溢出攻击其易于攻击且危害性极大的特点,已经成为当前很流行的一种网络攻击方法,这给系统的安全带来了极大的隐患。那么做为计算机用户或网络管理员一定要及时有效地检测出计算机网络系统的入侵行为,以做好及时的防范。
在介绍了缓冲区溢出的相关内容之后,对于没有一定计算机知识的用户来说,可能还很难理解,那么下面就介绍一个缓冲区溢出的简单实例,来具体形象地介绍一下什么是“溢出”。
这里以在Windows 10操作系统环境下进行介绍,产生缓冲区溢出的过程如下:
1.在Windows操作系统界面选择【开始】→【运行】菜单项,即可打开【运行】对话框,在其中的【打开】文本框中输入“cmd”命令,按下回车键后打开【命令提示符】窗口,这是Windows系统自带的命令行工具,可执行各种内置的命令程序。
2.在【命令提示符】窗口之中执行dir命令,然后按下Enter键执行命令,即可看到在【命令提示符】窗口之中显示了系统目录中的所有文件、目录及相关信息。
3.dir命令还可以指定列表显示的路径,在【命令提示符】窗口之中输入命令“dir c:\”,然后按下Enter键执行该命令,即可显示C盘根目录下的文件以及目录信息。
4.如果在【命令提示符】窗口之中指定一个不存在的路径,那么将会显示“文件名、目录名或卷标语法不正确。”提示信息,例如:输入“dir \ ? \cccccccccccc”命令,然后按下Enter键,即可显示执行结果。
5.从上述实例中,可以看出Dir命令是一个功能相对比较完善的显示文件及目录信息的程序,似乎与系统的安全并没有什么关系。但是如果改变上述的命令,在【命令提示符】窗口之中输入如下的dir命令“dir \ ? \cccccccccccc……ccccccccccccccc”(多于200个c)。
6.输入完毕后,按下Enter键,即可看到一个意外的结果,即弹出了cmd程序错误的信息提示框,这就是一个典型的溢出小实例。
最后
为了帮助大家更好的学习网络安全,小编给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂,所有资料共282G,朋友们如果有需要全套网络安全入门+进阶学习资源包,可以点击免费领取(如遇扫码问题,可以在评论区留言领取哦)~
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
2️⃣视频配套资料&国内外网安书籍、文档
① 文档和书籍资料
一、网安学习成长路线图
网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、网安视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
三、精品网安学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、网络安全源码合集+工具包
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、网络安全面试题
最后就是大家最关心的网络安全面试题板块
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!