格式化字符串漏洞
contacts
关于pychain的使用:
在加入项目且添加编译器之后,才会有函数提示
echo2
难点:
- PIE:题目文件有pie则说明题目文件本身也是地址随机化的(一般只有共享对象文件是地址随机化如libc)。此时由本地文件确定的地址在exp中不一定正确,需要在exp中泄露代码段一些函数的地址来确定elf文件的基地址。对于存在pie防御机制的文件,ida上显示出来的地址是偏移地址,我们需要泄露出某个函数的地址如__libc_start_main(),然后用基地址加上偏移得到函数的真实地址。
- 第一次使用one_gadget
one_gadget <文件> //一般文件为libc - 防止截断:对于64位的格式化字符串漏洞,输入的格式化字符串为了防止截断需要将函数地址放到最后
- !!写的payload要数据对齐,即64位要8字节对齐地址
echo3
alloca():在栈上申请空间,该变量离开其作用域之后被自动释放,无需手动调用释放函数
/dev/urandom:获取随机数
看起来是到骚题…明天见