GLIBC 2.35 hook
引言
众所周知在高版本的glibc中取消了free_hook和malloc_hook都被删除掉了。
那么如果我们存在一个UAF漏洞但是只能申请size为0x20的chunk时就会显得十分窘迫,如果使用选择使用house of emma或者house of apple之类的攻击手法我们就需要花费大量的chunk来进行利用。
根据上述情况来说就目前我们已学的知识中可以使用exit_hook进行解决,不过就在今天在微信公众号中刷到一篇文章中提到了一篇文章,通过修改_rtld_global._dl_ns._ns_loaded
实现劫持程序执行流。
分析
如上图所示,在通过exit函数或者程序正常退出时会调用fini_array中的函数
再从这张图中可以看到fini_array中的函数也正是house of banana中提到的_dl_fini
函数中调用的,并且可以看到是在
_rtld_global._dl_ns._ns_loaded
这个位置取出程序基地址,随后根据右边的偏移确定fini_array的位置,所以我们可以通过修改上述地址的内容到我们期望的位置即可劫持了。
评论
评论插件加载失败
正在加载评论插件