栈溢出与ROP分析与利用

基础知识

栈溢出与ROP

栈溢出指的是程序向栈中某个变量中写入的字节数超过了这个变量本身所申请的字节数,因而导致与其相邻的栈中的变量的值被改变。栈溢出漏洞就是由于栈溢出而导致的漏洞。在程序执行过程中,常使用栈帧记录程序执行过程中的状态,在栈帧中保存着返回地址,当利用栈溢出漏洞修改函数返回地址跳转到非预期地址执行时,就产生了ROP攻击,又称返回导向编程。

阅读更多