0%
攻防世界Reversing-x64Elf-100
附件下载下来,后缀是 .re,起初我还以为是压缩文件,拖进bandizip结果识别为未知文件格式。
google:.re 文件大多属于 Image File。 原文
攻防世界666
题目地址: 666
将附件下载到本地后,直接拖进 IDA 进行分析,点击进入 main 函数。
|
|
按下 F5 ,反汇编,这下就清楚程序运行逻辑了,程序对输入字符进行字符编码,然后与 enflag(“izwhroz""w"v.K".Ni”)进行比较。。。
重重保护下的堆
[toc]
堆保护机制的原理
堆中的安全校验操作
- **PEB random:**在 Windows XP SP2 之后不再使用固定的 PEB 基址 0x7ffdf000,而是使用具有一定随机性的 PEB 基址。Matt C onover 指出这种变动只是在 0x7FFDF000~0x7FFD4000 之间移动。覆盖 PEB 中函数指针的利用方式请参见 “堆溢出利用(下)”中的实验和“攻击 PEB 中的函数指针” 的相关介绍。
- Safe Unlink: 微软改写了操作双向链表的代码,在卸载 free list 中的堆块时更加小心。
对照“堆溢出利用(上)——DWORD SHOOT”中关于双向链表拆卸问题的描述,在 SP2 之前的链表拆卸操作类似于如下代码:
S.E.H 终极防护:SEHOP
[toc]
SEHOP 的原理
SEHOP(Structured Exception Handling Overwrite Protection),它在 Windows Server 2008 默认启用,而在 Windows Vista 和 Windows 7 中 SEHOP 默认是关闭的。
启用 SEHOP 有以下两种方式:
( 1)下载 http://go.microsoft.com/?linkid=9646972 的补丁,此补丁适用于 Windows 7 和 Windows Vista SP1。 ( 2)在注册表中 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel 下面找到 DisableExceptionChainValidation 项, 将该值设置为 0,即可启用 SEHOP。