栈迁移(ciscn_2019_es_2) 1. 什么是栈迁移? 栈迁移(Stack Pivoting)是一种攻击技术,攻击者通过修改程序的栈指针,使得程序在执行过程中跳转到攻击者控制的内存区域,从而执行恶意代码。这种技术通常用于绕过安全机制,如数据执行保护(DEP)和地址空间布局随机化(ASLR)。 2. 例子 通过逆向发现: int vul() { char s[40]; // [esp+0h] [ebp-28h] BYREF memset(s, 0, 0x20u); read(0, s, 0x30u); pri…