2025年3月29日
摘要: check一下文件 放ida查看这个重要的函数 看起来很像栈溢出是吧,但是不是,如果要使用栈溢出的话,最多就正好可以把ebp和ret的覆盖掉,不够溢出的长度 因此这里要用到栈迁移(我也是第一次做到) 首先介绍一下栈迁移: 栈迁移 它的核心思想就是,通过修改栈指针(ebp/rbp)的值,将栈迁移到我们 阅读全文
posted @ 2025-03-29 21:19 wander_hui 阅读(66) 评论(0) 推荐(0)
  2025年3月28日
摘要: 检查文件,有canary保护,不能用栈溢出,大概率会有格式化字符串漏洞 查看ida 显然,第一个printf有格式化字符串漏洞,接下来用gdb调试,那么将断点设在何处呢? 设在第二个printf,地址如下 接下来就可以调试了 显然,偏移位置是11 然后找到x的地址 之后就可以构造exp了 exp如下 阅读全文
posted @ 2025-03-28 22:34 wander_hui 阅读(32) 评论(0) 推荐(0)
摘要: gets函数明显有栈溢出,而且没有后门函数,所以可以想到ret2libc 先获取重要地址 exp如下 from pwn import * from LibcSearcher import LibcSearcher io=remote('node5.buuoj.cn',27128) context(a 阅读全文
posted @ 2025-03-28 17:47 wander_hui 阅读(34) 评论(0) 推荐(0)
  2025年3月25日
摘要: 先检查文件 开启了栈不可执行 丢到ida main函数中明显有栈溢出 再看看比较诱人的一个函数 看似这个函数直接可以获取flag,实则不然,我刚开始也是想着通过这个函数,读取flag.txt里面的内容,然后输出出来,但我还是太天真了,因为这个开了栈不可执行的保护,所以是失败了,那怎么办呢? 在这里学 阅读全文
posted @ 2025-03-25 22:34 wander_hui 阅读(59) 评论(0) 推荐(0)
  2025年3月19日
摘要: 目录基本概念原因影响利用过程利用技术示例 堆溢出(Heap Overflow)是一种常见的内存安全漏洞,主要发生在程序动态分配的内存区域(堆)中。当程序向堆中写入的数据超过了分配的内存空间时,就会发生堆溢出。这种溢出可能导致程序崩溃、数据损坏,甚至被攻击者利用来执行任意代码 基本概念 堆是程序运行时 阅读全文
posted @ 2025-03-19 21:39 wander_hui 阅读(392) 评论(0) 推荐(0)
摘要: 目录栈帧缓冲区溢出计算从缓冲区(buffer)到保存的指令指针(EIP)的偏移量(offset) 栈帧 图中展示的是函数 F(a, b, c) 的栈帧(Stack frame)结构。栈帧是程序运行时在栈(Stack)上为函数调用所分配的一块内存区域,用于管理函数调用的相关信息 参数部分:从高地址开始 阅读全文
posted @ 2025-03-19 21:06 wander_hui 阅读(130) 评论(0) 推荐(0)
  2025年3月18日
摘要: 目录栈溢出(Stack overflow)漏洞描述常见栈溢出函数利用方法防御机制例题 栈溢出(Stack overflow) 漏洞描述 栈溢出发生在程序向栈上写入数据时,未检查输入长度,导致数据覆盖了栈上的返回地址或其他关键数据 常见栈溢出函数 输入: gets():直接读取一行,到换行符’\n’为 阅读全文
posted @ 2025-03-18 21:56 wander_hui 阅读(220) 评论(0) 推荐(0)
摘要: 目录各类不同的堆分配器堆管理器堆的基本操作malloc函数free函数堆的微观结构chunkprev_sizesizefd,bkfd_nextsize bk_nextsizesizebin-空闲chunk管理结构bin的实现fastbin堆溢出简单例子 各类不同的堆分配器 不同也应用堆内存需求各异, 阅读全文
posted @ 2025-03-18 16:00 wander_hui 阅读(52) 评论(0) 推荐(0)
  2025年3月17日
摘要: 目录寄存器通用寄存器:段寄存器:指令集movpush popArithmeticjumpcmp系统调用例子程序在内存中的完整布局布局的对应 寄存器 通用寄存器: eax(累加器):常用与算数、逻辑运算和函数返回值等操作 ebx(基址寄存器):可用于存储内存基地址,在访问内存数据时发挥作用 ecx ( 阅读全文
posted @ 2025-03-17 23:57 wander_hui 阅读(305) 评论(0) 推荐(0)
  2025年3月8日
摘要: 前言 这是一个简单的栈溢出,虽然刚开始确实有点小蒙,但做完还是很好理解的 题目解析 先分析文件 Arch: i386-32-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x8048000 阅读全文
posted @ 2025-03-08 12:39 wander_hui 阅读(32) 评论(0) 推荐(0)