我在前面已经介绍过关于canary的内容了,所以这里直接引用并附上链接
然后我们照例先看看攻防世界的题目
这道题就是攻防世界进阶区的第一道题,其中点赞数最高的那个wp已经写得很明白了,我们这里只是复盘一下,有兴趣的可以自行去看看。
Mary_Morton
所谓的canary,就是系统会产生一个随机数,在程序的开始和结束给出,如何发生改变,那么程序就会报错退出。
如何确定canary的位置,如图,定义一个变量,在程序结束后返回,就是canary的值


先看看main

然后我们点开变量buf,位置在0x90位置

而canary在0x08的位置,两者距离为0x88,所以我们的思路就是

from pwn import *
p=remote("111.198.29.45",42124)
system_addr=p64(0x4008

本文深入解析Canary机制在程序安全中的应用,通过攻防世界题目的实战演示,详细阐述了如何确定Canary值的位置及利用技巧。文章提供了一个Python脚本示例,展示如何远程连接目标,获取Canary值,并构造payload进行攻击。
最低0.47元/天 解锁文章
448

被折叠的 条评论
为什么被折叠?



