缓冲区溢出拭魅战教程系列(一):第一个缓冲区溢出小措施
副问题[/!--empirenews.page--]
在安详圈里我们会常常听到或用到一些0day裂痕,在印象里我们都觉的只有真正的大神才气发掘到这样的裂痕,,究竟也简直云云。不外也不要被吓到,着实大部门的0day是缓冲区溢出裂痕演化而来,只要我们相识了缓冲区溢出道理,假以时日也可以本身发掘出0day裂痕。 因为是本系列的开篇,以是不给各人讲授过多的道理,本日先让各人直观感觉一下什么是缓冲区溢出,让列位有一个起源的熟悉,闲话少叙,让我们开始。 给各人一段c说话编写的代码,各人在DEV中编译执行一下:
在win7中会呈现以下报错,如图所示: 有一点c说话基本的人就不丢脸出题目地址,在措施中我们要把变量name的值拷贝给变量buffer,但我们分派给变量的空间只有8个字节,而name的长度远宏大于8个字节。这就导致体系原天职配的空间不敷而占用了原来用于存储措施返回地点的空间,导致措施无法正常运行。 本日先不讲道理,先讲讲说明缓冲区溢出必备的几款软件: 1. Dev-C ++ 是一个免费的全成果集成开拓情形(IDE),漫衍在GNU通用民众容许证下,用于 C和C ++编程。它是用Delphi编写的。 免费下载地点:://sourceforge.net/projects/orwelldevcpp/files/latest/download 2. OllyDbg(以其作者Oleh Yuschuk定名)是一个夸大二进制代码说明的x86调试器。 免费下载地点:http://www.ollydbg.de/odbg201.zip 3. IDA (Interactive Disassembler)是反汇编为计较机软件,其天生汇编说话源代码从呆板可执行代码。它支持多种可执行文件名目为差异的处理赏罚器和操纵体系。它还可以用作Windows PE,Mac OS X Mach-O和Linux ELF可执行文件的调试器。 免费版下载地点:https://www.hex-rays.com/products/ida/support/download_freeware.shtml 接下来先容一下三个软件的根基行使要领: 在这里只先容在措施说明进程中常用的要领,别的的具体行使教程请自行Google 1. Dev c++的行使要领: (1) 新建源代码文件 因为我们编写的源代码,只为了相识缓冲区溢出的道理,以是不必过于伟大,我们只必要新建个源代码文件就可以了,没须要建设项目文件。 把我们上边的示例代码拷贝进去,生涯与其他编辑器无异,ctrl+s就ok,我风俗生涯成c文件,这个各人随意。 (2) 编译运行: 编译运行就很简朴了,点击器材栏最上方的运行,接着在下拉菜单中找到编译和运行,点击: 这时辰会看到文件夹中多了一个exe文件这就是我们要用来调试的措施: (3) 调试和查察汇编代码 这个是较量重要的一步,由于在编写shellcode的时辰会用到,这里只讲用法,怎样提取shellcode往后再讲。 起首配置断点,选择配置断点的行,可以再前面行标出单击也可以按F4,当行标处呈现红点声名断点配置乐成。 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |