Skip to main content

2024四川省信息安全省赛snake复现

ElegyLess than 1 minute

2024四川省信息安全省赛snake复现

复习

由于这题是利用的构造一个fakechunk 来进行free所以我们需要好好搞清楚一下glibc2.39版本下free的检测差不多有哪些(这里针对大chunk)

free

  • 首先会检查size是否正常

    • 是否对齐
    • 是否大于最小值
  • 利用check_inuse_chunk查看这个chunk是否是double free

  • 获取物理意义上下一个chunk

  • chunk不能是topchunk

  • 下一个chunk的p位必须为1

  • 检查下一个chunk的size是否正常

  • 要是当前chunk的prev_inuse位为0则执行合并机制

  • 当下一个chunk不是头chunk 则获取下下个chunk 当nextinuse位为0的话就触发unlink