前言
本文主要记录在double free攻击的时候碰到了非预期的错误,第一次尝试进行逐步分析,同时继续理解ELF的文件结构和glibc源码。
欢迎各位师傅交流、指正。
gyctf_2020_some_thing_exceting题目漏洞分析
ida查看可以看到,程序在一开始执行的时候就将flag文件读入了内存当中。同时byte_6020a0处设置了0x60的大小,这一点让我们可以构造fakechunk。

另外在free chunk的时候存在UAF漏洞,马上就可以想到利用double free操作修改fastbin链表来获得flag 附近内存的控制。

exp
题目详细分析文章地址, 我们截取开头一部分的exp。
可以看到首先进行了两次申请,后面马上做了double free的攻击,此处的double free是正常的。

但是当修改exp如下的时候,就会遇到double free的错误了。

本文探讨了一次doublefree攻击时遇到的非预期错误,通过分析ELF文件结构和glibc源码,揭示了freechunk过程中如何导致错误。错误源于freechunk的size字段被错误地设置为大数值,影响了chunk管理,特别是fastbin的处理。文章强调了在进行doublefree攻击时,需谨慎处理与管理堆块大小相同的chunk的分配和释放。此外,还介绍了如何编译调试glibc源码以及查看ELF文件的符号表。
最低0.47元/天 解锁文章
468

被折叠的 条评论
为什么被折叠?



