实验四、缓冲区溢出漏洞利用实验
目录
实验四、缓冲区溢出漏洞利用实验 1
一.溢出点定位方法 1
-
当长度未超过缓冲区时, 1
-
当长度超过缓冲区时 2
二.漏洞利用方法(给出攻击发生时栈的布局) 3
三.DEP 保护绕过方法及实现 3
-
DEP 保护 3
-
ROP 原理 3
-
VirtualProtect 简介 4
-
实现步骤 4
四. shellcode 的设计与实现 5
五. 用于实现漏洞利用的“恶意”文件的结构与内容 6
-
junk 6
-
rop_chain 6
-
nops 7
-
shellcode 7
-
内容 7
六. 可复现漏洞利用结果的测试环境 8
七.实验总结 9
-
python 版本问题 9
-
栈平衡问题 9
-
地址随机化问题 9
一.溢出点定位方法
最开始先尝试采用字符串 123 重复的形式探测缓冲区大致长度,利用 ImmunityDebugger 查看 EBP 与 EIP 内容。
1.当长度未超过缓冲区时,
情况如图:
导入内容正常显示于框内,EBP,EIP 地址分别为原有的栈底指针和下一个执行语句的地址。
2.当长度超过缓冲区时
为了便于探测具体位置,将临近缓冲区溢出点的字符改为递增的字母
通过 ImmunityDebugger 查看得到 EBP 与 EIP 已被覆盖
本文转载自:http://www.biyezuopin.vip/onews.asp?id=15965