利用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保护

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容