利用printf突破canary保护

华盟原创文章投稿奖励计划

利用printf突破canary保护

编译:gcc -m32 -no-pie -fstack-protector-all -o printf red.c

利用printf突破canary保护

利用printf突破canary保护


设置断点,输入三个 R,查看栈

利用printf突破canary保护


相对于栈顶的第15个位置,ebp-0xc是反编译func函数存放canary保护的地址

利用printf突破canary保护


%k$p  将更改对应顺序,与格式化字符串后的第k个参数进行对应,并以地址形式解析参数值

运行,输入$08x,然后查看输出

利用printf突破canary保护


输出为 2a539a00,查看堆栈:

利用printf突破canary保护

编写exp,查看canary偏移

利用printf突破canary保护

查看exploit首地址

利用printf突破canary保护

利用printf突破canary保护

运行结果:


利用printf突破canary保护

本文原创,作者:张,其版权均为华盟网所有。如需转载,请注明出处:https://www.77169.net/html/259497.html

发表评论