• de1ctf_2019_weapon


    思路

    这题有意思,记录一下思路,具体分析可以参考de1ctf_2019_weapon (IO_FILE)
    这题保护全开,又没有 show 函数,想了半天,看 wp 才想起还能爆破 IO_FILE 来泄露 libc 地址,之后便是常规 fastbin attack 拿 shell 了。
    具体步骤:

    1. 通过 fastbin attack 造成堆块重叠。
    2. edit 修改重叠堆块的 size ,再做 free 操作获得 fastbin 跟 unsorted bin 。
    3. 通过覆盖 unsorted bin 在堆上踩出的 main_arena 地址的低位来爆破 IO_2_1_stdout 地址。
    4. 通过 fastbin attack ,分配到 IO_2_1_stdout 处,修改 _IO_FILE 的内容,程序再次执行 puts 时即可泄露 libc 地址。
    5. 有了 libc 地址便能计算出 one_gadget 跟 malloc_hook 的地址,然后再来一次 fastbin attack 将 malloc_hook 覆盖为 one_gadget 地址。
    6. 控制程序再次执行 malloc ,就能执行 one_gadget 拿 shell 了。
  • 相关阅读:
    docker运行springboot应用
    docer运行node
    Git添加仓库
    安装docker-compose
    centos安装docker
    Centos设置软件源
    ubuntu安装docker
    ubuntu安装阿里云镜像地址
    docker加速器配置
    配置Spring发送邮件
  • 原文地址:https://www.cnblogs.com/luoleqi/p/13510964.html
Copyright © 2020-2023  润新知