「PWN」exit_hook 的利用与原理
原文中文,约900字,阅读约需2分钟。
📝
内容提要
本文介绍了如何利用任意写漏洞修改 libc 中的函数地址,从而在 exit 调用 _dl_fini 时执行恶意代码。同时,还列出了 libc-2.23、libc-2.27 和 libc-2.31 中相关函数的地址。
🎯
关键要点
-
介绍了如何利用任意写漏洞修改 libc 中的函数地址。
-
在 exit 调用 _dl_fini 时执行恶意代码。
-
列出了 libc-2.23、libc-2.27 和 libc-2.31 中相关函数的地址。
-
exit 调用时会进行上锁和释放,涉及 _rtld_lock_lock_recursive 和 _rtld_lock_unlock_recursive。
-
提供了不同版本 libc 中 _rtld_global 和相关函数的地址。
-
可以将 _rtld_lock_lock_recursive 和 _rtld_lock_unlock_recursive 修改为 OneGadget。
-
也可以将其修改为 func,并修改 _rtld_global._dl_load_lock.mutex 为 arg1。
🏷️