缓冲区溢出的基本原理是什么
的有关信息介绍如下:缓冲区溢出(buffer overflow),针对程序设计缺陷,向程序输入缓冲区写入使之溢出的内容(通常是超过缓冲区能保存的最大数据量的数据),从而破坏程序运行、趁著中断之际并获取程序乃至系统的控制权。
原理:通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,造成程序崩溃或使程序转而执行其它指令,以达到攻击的目的。造成缓冲区溢仿春出的原因是程序中没有仔细检查用户输入的参数。
扩展资料
缓冲区溢出攻击的目的在于扰乱具有某些特权运行的程序的功能,这样可以使得攻击者取得程序的控制权,如果该脊芹程序具有足够的权限,那么整个主机就被控制了。攻击者攻击root程序,然后执行类似“exec(sh)”的执行代码来获得root权限的shell。
为了达到这个目的,攻击者必须达到如下的两个目标:在程序的地址空间里安排适当的代码。通过适当的初始化寄存器和内存,让程序跳转到入侵者安排的地址空间执行。
参考资料来源:百度百科-缓冲区溢出攻击
参考资料来源:百度百科备野耐-缓冲区溢出