1 what stack pivoiting是一种栈空间转移技术 2 why 有时候缓冲区有长度限制,不利于在栈上配置rop gadget(空间不够)! 3 how 3.1 pop rsp gadget 这种情形比较少见,遇到了相当幸运~ 3.2 xchg , rsp pop <reg> <=== return pointer <reg value> xchg <rag>, rsp 3.3 leave;ret leave相当于: mov rsp,rbp pop rbp 加上ret就等于: mov rsp,rbp pop rbp pop rip 覆盖rbp,然后栈中的ri……

阅读全文