「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。
➡️