Structured Exception Handling
(结构化异常处理)也就是**SEH
,是 Microsoft 对 C 和 C++ 语言的一个扩展,用于适当地处理某些异常代码情况,包括软件异常和硬件异常。由于SEH
是存储在栈帧内,当我们无法直接溢出控制eip/rip
,我们就可以尝试通过控制SEH
来劫持程序。下文都基于32位程序的SEH
**。
house_of_illusion -- new read/write primitive
通过春秋杯的houseofSome
做题过程中发现的新读写原语(与出题人交流发现这条write primitive
已经有研究了,但是笔者的read primitive
确实是新的,暂且把这种组合利用称为house of illusion
)