-to-libc攻击。因为return-to-libc攻击只用到了标记为可执行的代码（libc中的函数均为可执行）。当然，攻击者也只能够调用已存在的函数。Stack-smashing 防护能够阻止这种溢出，因为它可以检测到损坏的堆栈并且有可能移除被攻击的段（segment）。地址空间布局随机化 (ASLR)使这种攻击在64位平台上变得几乎不可能成功，因为所有函数的内存地址都是随机的。在32位系统中，ASLR能够提供部分防护，因为只有16位地址可供用于随机化，这可以用暴力攻击在很少的几分钟内破解。Sect