pwn

什么是pwn?

黑客俗语:攻击成功,破解成功,致力于二进制漏洞利用与挖掘,也就是已经编译成机器码的二进制程序。

ELF 文件结构

elf文件,可以由以下部分组成:

  • :elf文件头(必须在文件头部),程序头/段表
  • :代码(可执行的机器码),数据(执行机器码可能使用到数据),其他节
  • :节头表

ELF文件头表

记录ELF文件的组织结构

程序头表/段表

告诉系统如何创建进程,生成进程的可执行程序必须有这个结构,重定位文件不一定需要

节头表

记录elf文件的节区信息,用于链接的目标必须拥有此结构,其他类型文件不一定需要

磁盘中的ELF与内存中的ELF

当运行磁盘中的elf文件,将磁盘中的elf文件加载到内存映像中。在磁盘中都是节,只有被加载到内存中才自成段。

虚拟内存

  • 用户空间:每个进程一份虚拟内存
  • 内核空间:所有进程共享一份虚拟内存
  • mmap段中的动态链接库仅在物理内存中装载一份

Windows编程中,给用户2g的内存空间。用户空间(用户所写的代码和数据,控制用户程序所执行的相关控制结构:eg:栈),2g的内核内存空间(内核操作系统代码,因为在保护模式下,操作系统要…)


从 Hello,world 到 Hello,Root — 这是我们的征途