- 博客(6)
- 收藏
- 关注
原创 unlink
我们伪造一个fake chunk,修改其fd为p-0x18(p储存堆块指针的地址,一般为bss段),修改bk为p-0x10,绕过保护,在形成双链表的过程中,修改了p->p-0x18导致我们可以修改p->任意地址,进行一次任意地址写,可以修改free为system。more伪造形式伪造堆块的后一堆块的size低位要为0,这样会认为我们伪造的堆块是释放的,才能往前合并。这里我要提出一个问题了为什么我们要伪造堆块而不用原堆块呢?
2025-04-01 19:52:25
423
原创 SU_BABY
该题的主要漏洞是在add_file中存在的逻辑漏洞,而且是无法直接看出来的需要在gdb中调试中得到,填满第一个栈后与后一个栈里面的内容连接在一起经过strlen长度判断为14,那么下次就是x+14的位置读入(x为当前读入位置),合理的控制的话可以直接绕过canary保护。利用add_sigID读入,找到栈地址并读入,然后利用display_sigdb打印出来,这里display_sigdb不能直接调用,但因为query_infiles没有break,可通过执行query_infiles进行调用。
2025-04-01 19:51:40
220
原创 2024强网杯pwn部分wp
more这道题说实在想复杂了,也算是我知识浅薄吧,看到那个环境变量没想到怎么用跟对队友交流一直在用io进行攻击两种做法:先说我们最开始的做法主要手法:一次部署并largetbin attack+House of apple2 + house of cat +rop+shellcode攻击存在uaf漏洞首先堆块申请被限制了且只有一次修改的机会这让我们非常的困扰如何进行IO攻击。
2025-04-01 19:50:24
556
原创 GDB调试指南
GDB是linux下非常好用且强大的调试工具,能够使让用户在程序运行的过程中观察内部结构与内存的使用情况,掌握gdb对于二进制pwn手的学习是入门的要求。不会进入调试界面,跟直接运行程序差不多这是pwntools用于在exp脚本方便调试的部分context.terminal = ["tmux","splitw","-h"]#产生左右分屏,不带的话是上下分屏比较难受gdb.attach() #放到想要在exp中停止的位置,程序在运行时候会停止在该处进行调试运行脚本得到注意:要在tmux模式下才可以。
2025-04-01 19:40:02
837
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人