bjdctf_2020_babyrop2April 15, 20261 分钟阅读 BUUBUU 存在一个栈溢出,但要绕过一个canary。 “gift”:在printf处存在一个格式化字符串漏洞。能输入的限定是%6s。只能传6个字符,其中已经固定了四个“%x$p”(x是一个个位数的数字)一个个数字尝试,当x=6的时候,输出的是我们输入的部分r.recvuntil("I'll give u some gift to help u!") payload = b'A%6$pA' r.send(payload) 所以我们的输入部分偏移是6 接下来看canary的位置: canary 输入aaaaaa 可以看到aaaaaa存在了rsp的位置,canary在rsp下面8个字节,所以canary的偏移应该是7 。也就是%7$p 同时也注意到rax的值跟canary是一样的(虽然不知道有什么用)
评论