Canary--利用__stack_chk_fail函数泄露数据
__stack_chk_fail 函数输出错误信息时会把 __libc_argv[0] 作为信息输出,也就是 main 函数参数的 argv[0],这个参数保存在栈中,如果可以覆盖该参数,也就可以打印出需要泄露的信息。
注意高版本的 libc 的 __fortify_fail 函数并不会打印 __libc_argv[0] 。
1 | void __attribute__ ((noreturn)) __stack_chk_fail (void) |
示例程序:
1 |
|
exp:
1 | from pwn import * |


- Title: Canary--利用__stack_chk_fail函数泄露数据
- Author: Chiu
- Created at : 2024-07-31 13:56:29
- Updated at : 2024-07-31 13:57:13
- Link: https://github.com/Idealist17/github.io/2024/07/31/Canary-利用-stack-chk-fail函数泄露数据/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments