01 2022 档案

摘要:在str后面加encode(),将str转换成字节型 阅读全文
posted @ 2022-01-30 10:32 ATKevin 阅读(517) 评论(0) 推荐(0)
摘要:收获:1.利用fmtster_payload()来构造,从而改变目标地址的数据 2.学会自己构造发送数据改变目标地址数据 3.不能一次改变完puts_got,程序会崩溃。可以一个一个字节来写 4.%100×10$n表示将0x64写入偏移10处保存的指针所指向的地址(4字节),而%$hn表示写入的地址 阅读全文
posted @ 2022-01-30 00:09 ATKevin 阅读(131) 评论(0) 推荐(0)
摘要:收获:篡改中间name数组的地址来泄露和攻击 from pwn import * context.log_level = 'debug' # context.arch = 'amd64' libc = ELF('./libc-2.23.so') file = './babyfengshui_33c3 阅读全文
posted @ 2022-01-27 17:53 ATKevin 阅读(63) 评论(0) 推荐(0)
摘要:from pwn import * context.log_level = 'debug' # context.arch = 'amd64' libc = ELF('./libc-2.27.so') file = './babyprintf_ver2' elf = ELF(file) shellco 阅读全文
posted @ 2022-01-26 15:38 ATKevin 阅读(119) 评论(0) 推荐(0)
摘要:若为off by one 设计出来的假chunk应该是0x90不是0x98。 阅读全文
posted @ 2022-01-14 14:04 ATKevin 阅读(48) 评论(0) 推荐(0)
摘要:magic fmtarg+地址 (字符串) 阅读全文
posted @ 2022-01-14 13:47 ATKevin 阅读(140) 评论(0) 推荐(0)
摘要:当ret2syscall的题目中没有/bin/sh的时候,有两种方法: 1.拼凑出字符串'/bin/sh' 2.直接用ROPgadget拼凑出ROP链 ROPgadget --binary rop --ropchain 3.如果我们需要多次系统调用,就只能用这个命令来找int 0x80 :ROPga 阅读全文
posted @ 2022-01-13 12:21 ATKevin 阅读(189) 评论(0) 推荐(0)
摘要:函数特性: puts输出后会加\n printf和puts遇到\0停止 strcpy 字符串复制函数。复制时,遇到结束符 \x00 才会停止复制。复制结束后,会在最后写入一个结束符 \x00 。 在read函数中,第三个参数的类型是size_t,该类型相当于unsigned long int,属于无 阅读全文
posted @ 2022-01-13 11:59 ATKevin 阅读(43) 评论(0) 推荐(0)
摘要:64位使用寄存器,分别用rdi,rsi,rdx,rcx,r8,r9作为第1-6个参数,rax作为返回值. 当程序调用call的时候,会将下一个地址中的值压入栈中,直接去执行了system(“sh”),所以就不需要返回地址了 eg: wustctf2020_getshell_2 阅读全文
posted @ 2022-01-13 11:53 ATKevin 阅读(25) 评论(0) 推荐(0)