今天并没有刷题,看到ctf-wiki高级ROP,发现ret2_dl_runtime_resolve,涉及到PLT&GOT 表以及延迟绑定机制,还是把基础打好。
今天笔记不多,主要是理解。推荐一下看的资料
PLT&GOT 表以及延迟绑定机制
ELF 文件结构解析
ELF文件结构解析的工具
我感觉栈溢出,还是手画堆栈图理解漏洞最深刻,以后调试的时候还是尽量把堆栈图先画出来,在debug。
栈迁移原理
刷这老哥写的文章
pwn学习资料汇总
总结一下ELF要记的,其他ELF用到在去查ELF 文件结构解析这篇文章:
.text 该节保存了程序代码
.bss 该节主要保存未初始化的全局变量和局部静态变量 //栈溢出往往覆盖这里
.data 保存了初始化的全局变量
.rodata 段存放的是只读数据,一般是程序里的只读变量(如const修饰的变量)和字符串常量
.plt 包含了动态链接器调用从共享库导入的函数必需的相关的代码
.got.plt 保存了全局的偏移表等表,got表位于该节
linux下readelf -S test
查看:
windows下那个工具显示的
长亭科技的pwn入门
数组常用
ebp也叫栈帧指针
ELF文件格式
堆溢出
明天调一下got,plt延迟绑定机制,学一下劫持got表