wdb2018_guess
(较易)考点:
- fork子进程
- stack smashing
- 利用environ确定任意栈地址
python
def exp(): |
gyctf_2020_force
(较难)考点:
- mmap泄露堆地址
- House of Force
- realloc_hook调整栈帧使og生效
卡在了泄露地址这个点,学到了mmap出来的空间相邻libc的地址
house of force改top chunk的地址为-1(0xfff…)
然后无限申请,算下malloc_hook的偏移到topchunk,然后申请到附近改那两个hook
python
def exp(): |
picoctf_2018_buffer overflow 0
(较易)考点:
- 栈溢出
- signal调用后门函数
ssh连接到服务器,运行函数通过命令行传入参数然后泄露出flag
gyctf_2020_some_thing_interesting
(中等)考点:
- UAF
- 堆布局构造unsorted bin
python
def exp(): |
mrctf2020_shellcode_revenge
(难)考点:
- 部分可见字符的shellcode编写
震撼我一整年
python
def exp(): |
roarctf_2019_realloc_magic
(难)考点:
- realloc函数的特性
- 堆布局
- 2.27下的IO泄露地址
总结:没有edit可以通过连续的free函数做uaf;由于不检查size,在只有heapptr的时候可以realloc(0)后构造overlap,覆盖victim的size,这样的效果可以使得逐个清空某个size大小的tcache bin,最终申请到freehook;泄露io直接申请到stdout的地方改writebase为0x58泄露IO-file-jumps的地址;爆破注意模板
python
def exp(): |
强网杯2019 拟态 STKOF
(较易)考点
- 栈溢出
- 静态编译
ROPgadget生成的ropchain长度超了,ropper可以
python
def exp(): |