漏洞利用专有概念记录(持续更新中)

Windows 安全机制汇总(在《0day安全-软件分析技术》中第9章,表9-1-1)

GS 编译技术:针对栈中函数的返回地址被覆盖这一攻击手法,在函数返回地址前加入security cookie,在函数返回时要先检查security cookie是否被覆盖,操作系统的栈溢出会变得异常艰难,软件可以选择在编译的时候是否开启该选项。

S.E.H 机制:SEH机制是异常处理机制,用来捕获异常 ,攻击者一般会将进行异常处理的程序的地址进行覆盖,从而达到执行其代码的目的。

DEP:data execution protection ,数据执行保护。将数据标记为不可执行,解决了指令和数据未区分开的问题。

ASLR:address space layout random,地址空间分布随机化,将某些关键的模块的地址随机化。

SEHOP:structure exception handler overwrite protection , SEH的系统级覆盖写保护机制,具体怎么保护的,再议。

0x63756620 代码为Windows下 “ fuc” 的ASCII编码。

攻击C++虚函数的核心思想:

如果存在栈溢出的漏洞,查看是否能够修改虚表指针或是虚表中的虚函数指针,如果可以,即可以将虚表指针(或是虚表中的虚函数指针)指向shellcode的地址。这就是攻击C++虚函数的核心思想。

程序加载到内存中逆向出来的段的内容:

idata: 明显是一个Imports函数的代码段,这里集中所有外部函数地址,代码中会先跳到该地址后再执行,PE文件加载器在开始会获取真实的函数地址来修补idata段中的函数地址。
data: 这个段存放程序的全局数据、全局常量等。
rdata: 名字上看就是资源数据段,程序用到什么资源数据都在这里,资源包括你自己封包的,也包括开发工具自动封包的。

MP3的文件格式头部为:ID3