Advertisement

PWN protection mechanism and compilation method

阅读量:

0x00 声明

以下内容为源自先知社区的发布者逆向萌新原创内容。基于传播途径所导致的相关影响及其可能产生的后果与损失,请确保使用者个人承担责任。相关方不再承担任何责任。

0x01前言

在CTF比赛中涉及pwn题目的场景中,在使用gcc进行编译时其保护功能是如何启用的以及是怎样实现的?这涉及到编译器层面的安全防护机制设置。由于在CTF比赛中大部分题目都基于Linux平台设计(尤其是针对pwn攻击),因此这里主要以Linux环境为例进行说明。需要注意的是,在Windows环境下进行pwn攻击相对罕见(常见于Linux平台)。

0x02 PWN的保护

在pwn里,保护一共是四种分别是RELRO、Stack、NX、PIE。

RE Lunar Read-Only(RELRO)机制分为两种情况:第一种情况为部分开启堆栈地址随机化的Partial RELRO(PR EL RO),该情况下got表仍可写;第二种情况为全局开启堆栈地址随机化的完整RE Lunar Read-Only(FR EL RO),此时got表不可写。其中Got是一个全局偏移表,在内存中存储着外部定义的所有符号及其对应条目所占用的数据段信息;而PLT(Process Link Table/Internal Function Link Table)则是一个用于过程链接的表格,在Linux系统中采

全部评论 (0)

还没有任何评论哟~