- 博客(13)
- 收藏
- 关注
原创 从一道题目来学习C++异常处理机制漏洞 #PWN
该漏洞来源于C++中的try catch语法。C++ 里的 try-catch 本质上是“异常传播与捕获”机制:一般对于可能发生异常的代码我们会使用 try 将其包裹,但是当该段代码在运行时检测到“无法就地修复”的错误,就抛出一个对象(throw);执行流会立即跳出当前函数,沿调用栈一路回退,直到遇到第一个“能处理该对象类型”的 catch 块;如果最终也没找到,std::terminate() 会被调用,程序终止。而 throw 抛出的异常必定需要通过某种方式被识别吧?
2025-12-10 23:23:03
665
原创 2025强网杯PWN个人打通题目简单总结
存在溢出,可以向后覆盖可以覆盖这里,有格式化字符串漏洞具体汇编是这样的但利用完之后我们面临flcose,symbol=1的风险,我们不想看到这个现象!于是我们这一次格式化字符串的攻击需要改fclose的got表,改成main函数,顺便泄露出堆上地址,(因为我在pwndbg中发现,flag被存储到了堆上)接下来再来一遍main函数,就很轻松得到flag了。
2025-10-20 16:42:32
455
原创 house of some
但是,为了防止未来这个检查的修复,Csome师傅发明了house of some利用手法,并编写了houseofsome自动化攻击库。house of apple2是针对如今高版本一把梭控制IO刷新流的好方法,其主要利用漏洞为。四:house of some利用思路 (不强求理解原理,可以跳过)三:house of some利用优点(相对于apple2)五:houseofsome自动化脚本攻击。一:house of some诞生背景。二:house of some利用条件。处的任意函数指针实现。
2025-09-10 18:41:59
415
原创 数据结构代码大全---C语言版本---或许是全网最全版本?
markdown文档一共4200行,或许是全网最全?2.1单链表2.2双链表2.3循环单链表2.4循环双链表3.1顺序栈3.2顺序共享栈3.3链式栈4.1队列4.2顺序循环队列4.3链式队列5.1串6.1树单纯的树的代码意义不大,更详细的分类在后面
2025-09-09 20:05:15
281
原创 house of cat
1.fp.mode!= 02.fp->_mode <= 0 && fp->_IO_write_ptr > fp->_IO_write_base 或者 _IO_vtable_offset (fp) == 0 && fp->_mode > 0 && (fp->_wide_data->_IO_write_ptr > fp->_wide_data->_IO_write_base)
2025-08-30 17:17:19
808
原创 house of apple2
house of apple2属于House of apple利用手法大家庭,总体可分为三种调用方式,分为了IO_FILE->_wide_data 进行利用。_IO_FILE。
2025-08-16 11:24:48
1123
原创 Unlink
Unlink攻击是一种利用堆内存管理机制的漏洞利用技术。当进行smallbin或unsorted chunk合并时,系统会执行unlink操作将目标块从链表中移除。攻击者通过伪造目标块的fd和bk指针,可以篡改指针表中的地址,实现任意地址读写。主要攻击方式有两种:1)利用UAF漏洞修改堆块指针;2)通过堆溢出伪造fake chunk并修改相邻chunk的pre_size和inuse位。攻击成功后可以修改关键指针.
2025-08-14 09:35:28
692
原创 unsortedbin attack
本文介绍了unsortedbin的基本概念及其在内存管理中的作用,重点分析了unsortedbin attack利用技术。unsortedbin作为空闲chunk的缓冲区,采用FIFO机制管理。当满足特定条件时,攻击者可通过控制bk指针实现任意地址写入。文章详细讲解了unlink机制的攻击原理,并提供了针对magicheap题目的实际利用代码,演示了如何通过edit_heap操作修改chunk头部,触发unsortedbin attack向目标地址写入大数,最终完成题目要求的条件判断。
2025-08-14 08:53:39
868
原创 largebin attack
在2.30以前,缺少对largebin attack的检查,所以我们可以大胆的进行伪造,在插入一块新的largebin时,会将当前堆块的bk->fd和bk_nextsize->fd_nextsize写成当前堆块的地址,如下图,所以如果根据下图把bk构造成targetaddr1-0x10,bk_nextsize构造成targetaddr2-0x20,即可在插入largebin时触发unlink进行同时改写两处地址为heapaddr。largebin的chunk在fd的遍历顺序中,按照由大到小的顺序排列。
2025-08-13 21:26:58
954
原创 PWN的学习顺序推荐 | pwn学习指北
Pwn是一种在网络安全和黑客竞赛(如CTF,夺旗赛)中常见的技术类型。它主要涉及对程序漏洞的利用,以实现对目标系统的控制或获取敏感信息。
2025-03-03 23:32:20
1758
4
原创 pwn的一道题-- ezsyscall,题型是ret2csu+ret2syscall
(正常来说可以放read的got表的地址这样的话我们就可以直接调用一步read函数,但因为抹除了got表,所以我们需给寄存器赋值syscall)所以我们需要ROPgadget来给寄存器赋值(其实ROPgadget不能给rdx赋值,给rdx赋值需要进行ret2csu,这是后话)但是,不难看出,一旦csu之后,就没办法给rax赋值了,所以我们提前一步给rax赋值为59(execve的系统调用号)*X64程序中有限按照一下顺序使用rdi,rsi,rdx,r8,r9寄存器来传递参数,rax是系统调用号。
2024-12-10 14:33:06
998
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅