文章

PWN 保护机制及其绕过

PWN 保护机制及其绕过

判断情况

  • 文本段有 system或者 后门函数是 ret2text
  • 堆栈可执行, bss段可写 ret2shellcode
  • 只有栈溢出 ret2libc

RELRO (ReLocation Read-Only)

堆栈地址随机化, 是一种用于加强对 binary 数据段的保护的技术

解决办法:return to plt

ASLR (Address Space Layout Randomization)

GOT:Global Offset Table

PLT:Precedure Linkage Table

RELRO 是 ASLR 的一种

partial relro 部分开启 got不可写 full relro 全部开启 got可写

Stack Canaries

堆栈保护,防止栈溢出

解决办法:

NX (Non-eXecutable)

堆栈不可执行,只能通过已有的代码片段(gadgets),控制其流程

解决办法:return to libc (ROP)

本文由作者按照 CC BY 4.0 进行授权