漏洞利用原理
基本概念
1.漏洞挖掘
学术界一直较热衷于静态分析
工程界用的方法叫Fuzz,实际上是一种灰盒测试
2.漏洞分析
有POC代码(既有效的可利用的代码),便能找到漏洞的触发点,观察漏洞细节。
无POC代码,则用补丁比较器,比较修改之前之后 的区别,之后用IDA重点逆向分析这些不同的地方
3.关于0day
在漏洞补丁发布之前,漏洞便被曝光,整个 Internet 的网络将处于高危预警状态。(patch 发布后 1 天,叫做 1 d ay,5 天叫做 5 day,未发 patch 统称 0 day)。
二进制文件
简称PE文件(我们平时生活用的exe.和dll.都是该类文件)
操作系统会根据PE格式约定定位资源并存入内存的不同区域中去。
典型PE分的若干个节
.text 二进制代码,是我们反汇编和调试的对象。
.data 初始化数据块,如宏定义、全局变量、宏观变量。
.idata 动态链接库等外来函数与文件的信息。
.rsrc 存放程序的资源,如图标、菜单等。
(PS:正常标准PE文件,其节信息大致都是相同的。但如果可执行文件经过了“加壳”处理,PE 的节信息就会变得非常“古怪”。在Crack 和反病毒分析中需要经常处理这类古怪的 PE 文件。)
虚拟内存
Windows内存可分为虚拟内存和物理内存(内核级别才可见,较复杂)<