摘要:
2.27-1.2版本 a->a即可 2.27-1.3版本 a->b->a即可 2.29就需要改key不能指向自身 阅读全文
摘要:
fastbin需要0x70~0x7f 那么我们就可以在malloc-0x23处或者stdout,stderr,stdin附近有0x7f来构造 阅读全文
摘要:
glibc2.29新出现的技术 利用的方式两种: 1.修改任意地址为smallbin的地址 (Tcache Bin还有1个空位) 2.直接申请chunk到任意地址(tcache bin中有两个空位) Tcache Stashing Unlink Attack利用思路 - 安全客,安全资讯平台 (an 阅读全文
摘要:
在glibc 2.30的版本下,新增了保护措施。 第二种分支检查了fd_nextsize和bk_nextsize的完整性,不能利用。 第一个分支没有,则可以利用(让unsortedbin中进入largebin的chunk大小小于已经在largebin的chunk大小即可) 阅读全文
摘要:
在做一道题是,当scanf的字符串是'%d'时,用str(0xfc1)会输入修改成功。 当scanf的字符串是'%s'时,用p64(0xfc1)会输入修改成功。 想了很久,才明白。 用pwn脚本时,用str()发送数据是模拟交互输入,比如str(0xfc1)会发送过去 4033 这个字符串,就相当于 阅读全文
摘要:
git clone出现问题:GnuTLS recv error (-54): Error in the pull function. 解决方法:修改下载方式:https --> ssh ssh:Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所 阅读全文
摘要:
在str后面加encode(),将str转换成字节型 阅读全文
摘要:
收获:1.利用fmtster_payload()来构造,从而改变目标地址的数据 2.学会自己构造发送数据改变目标地址数据 3.不能一次改变完puts_got,程序会崩溃。可以一个一个字节来写 4.%100×10$n表示将0x64写入偏移10处保存的指针所指向的地址(4字节),而%$hn表示写入的地址 阅读全文
摘要:
收获:篡改中间name数组的地址来泄露和攻击 from pwn import * context.log_level = 'debug' # context.arch = 'amd64' libc = ELF('./libc-2.23.so') file = './babyfengshui_33c3 阅读全文
摘要:
from pwn import * context.log_level = 'debug' # context.arch = 'amd64' libc = ELF('./libc-2.27.so') file = './babyprintf_ver2' elf = ELF(file) shellco 阅读全文