【OSCP官方视频】十二、Linux缓冲区溢出攻击

DEP、ASLR、Canaries

机制定义作用
DEP (Data Execution Prevention)一种硬件和操作系统级别的安全特性,用于防止恶意软件执行攻击。通过阻止将数据区域用作代码执行区域来保护系统免受缓冲区溢出等攻击的影响。防止恶意代码在数据区域执行,提高系统安全性。
ASLR (Address Space Layout Randomization)一种操作系统级别的安全特性,通过在系统启动时动态地随机分配内存地址来随机化程序、库和内核的内存布局。使得攻击者更难以准确地预测可利用的内存地址,降低成功利用内存相关漏洞的概率。提高系统的安全性,降低攻击者成功利用内存漏洞的可能性。
Canaries (Stack Canaries)一种用于防止栈溢出攻击的技术,通过在程序的栈帧中插入一个特殊的标记,并在函数返回前检查这个标记是否被修改来防止栈溢出攻击。帮助检测和防止栈溢出攻击,保护程序免受恶意输入的影响。

这些安全机制通常被应用于操作系统和软件开发中,以提高系统的安全性和抵御各种类型的攻击。

溢出攻击

使用的edb的debugger,发送缓冲区溢出数据,捕捉内存状况

使用metasploit生成字符串,定位到EIP位置

在填入shellcode的过程中,发现所剩的空间不够填入shellcode了,所以通过metasploit的nasm生成一个跳转的代码,将esp写入了eip中

这样实现了将执行代码的数据流跳转到头部的padding区了,于是我们把shellcode填入到padding区域,等待跳转就可以了。

评论区
头像
文章目录