ELF文件概述
exploit
用于攻击的脚本与方案
payload
攻击载荷,是的目标进程被劫持控制流的数据
shellcode
调用攻击目标的shell的代码
pwn比赛流程:
IP:port
nc IP:port
构造攻击脚本
运行脚本就会发送payload给服务器
从C源代码到可执行文件的生成过程
编译
由C语言代码生成汇编代码
汇编
由汇编代码生成机器码
链接
将多个机器码的目标文件链接成一个可执行文件
ELF linux下可执行文件
什么是可执行文件
广义:文件中的数据是可执行代码的文件
.out、.exe、.sh、.py
狭义:文件中的数据是机器码的文件
.out、.exe、.dll、.so
Windows:PE文件
可执行程序:exe
动态链接库:dll
静态链接库:lib
Linux:ELF
可执行文件:out
动态链接库:so
静态链接库:a
ELF文件头表(ELF header)
记录了ELF文件的组织结构
程序头表/段表(Program header table)
告诉系统如何创建进程
生成进程的可执行文件必须拥有此结构
重定位文件不一定需要
节头表(Section header table)
记录ELF文件的节区信息
用于链接的目标文件必须拥有此文件
其他类型目标文件不一定需要