01 2022 档案
摘要:在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
阅读全文
摘要:若为off by one 设计出来的假chunk应该是0x90不是0x98。
阅读全文
摘要:当ret2syscall的题目中没有/bin/sh的时候,有两种方法: 1.拼凑出字符串'/bin/sh' 2.直接用ROPgadget拼凑出ROP链 ROPgadget --binary rop --ropchain 3.如果我们需要多次系统调用,就只能用这个命令来找int 0x80 :ROPga
阅读全文
摘要:函数特性: puts输出后会加\n printf和puts遇到\0停止 strcpy 字符串复制函数。复制时,遇到结束符 \x00 才会停止复制。复制结束后,会在最后写入一个结束符 \x00 。 在read函数中,第三个参数的类型是size_t,该类型相当于unsigned long int,属于无
阅读全文
摘要:64位使用寄存器,分别用rdi,rsi,rdx,rcx,r8,r9作为第1-6个参数,rax作为返回值. 当程序调用call的时候,会将下一个地址中的值压入栈中,直接去执行了system(“sh”),所以就不需要返回地址了 eg: wustctf2020_getshell_2
阅读全文

浙公网安备 33010602011771号