5 关系: 堆栈,缓冲区溢出,Exploit,資料執行防止,Return-to-libc攻击。
堆栈
--(stack)又稱為棧或--,是计算机科學中一種特殊的串列形式的抽象資料型別,其特殊之處在於只能允許在連結串列或陣列的一端(稱為堆疊頂端指標,top)進行加入数据(push)和輸出数据(pop)的運算。另外--也可以用一維数组或連結串列的形式來完成。堆疊的另外一個相對的操作方式稱為佇列。 由於堆疊資料結構只允許在一端進行操作,因而按照後進先出(LIFO, Last In First Out)的原理運作。.
缓冲区溢出
缓冲区溢出(buffer overflow),是针对程序设计缺陷,向程序输入缓冲区写入使之溢出的内容(通常是超过缓冲区能保存的最大数据量的数据),从而破坏程序运行、趁著中斷之際并取得程序乃至系统的控制权。 缓冲区溢出原指当某个数据超过了处理程序限制的范围时,程序出现的异常操作。造成此现象的原因有:.
新!!: 返回导向编程和缓冲区溢出 · 查看更多 »
Exploit
#重定向 漏洞利用.
新!!: 返回导向编程和Exploit · 查看更多 »
資料執行防止
資料執行防止,簡稱「DEP」,英文全稱為「Data Execution Prevention」,是一組在記憶體上執行額外檢查的硬體和軟體技術,有助於防止惡意程式碼在系統上執行。.
新!!: 返回导向编程和資料執行防止 · 查看更多 »
Return-to-libc攻击
Return-to-libc攻击(缩写:ret2libc),即“返回至C标准库攻击”,是一种电脑安全攻击。这种攻击方式一般应用于缓冲区溢出中,其堆栈中的返回地址被替换为另一条指令的地址,并且堆栈的一部分被覆盖以提供其参数。这允许攻击者调用现有函数而无需注入恶意代码到程序中。 缩写为libc的共享库是C标准函数库,提供了类UNIX操作系统中的C运行时支持。尽管攻击者可以让代码返回到任意位置,但绝大多数情况下的目标都是libc。这是因为libc总是会被链接到程序中,并且它提供了对攻击者而言一些相当有用的函数(如system()调用可以只附加一个参数即执行外部程序)。这即是尽管返回地址可以指向另一个完全不同的区域,但这种攻击仍被称为return-to-libc的原因。.
新!!: 返回导向编程和Return-to-libc攻击 · 查看更多 »