摘要: Largebin attack largebin attack|概述 前言:用的glibc版本是2.33 ●Largebin时glibc中, 超过0x400大小的空闲内存所构成的链表 ●Largebin的特质和unsortbin类似, 只是多了一个bk_next_size和fd_ next_ size的指针,用于指向比当前堆块大小 阅读全文
posted @ 2022-03-07 21:55 vi0let 阅读(61) 评论(0) 推荐(0) 编辑
摘要: tcache attack Tcache attack|Tcache bin的结构 glibc用tcache_entry和tcache_perthread两个结构体来管理tcache bin 1、tcache_entry 2、当我们分配的chunk释放后进入tcache bin时,就会按这个结构体来按链表存储,next指向 下 阅读全文
posted @ 2022-03-07 21:54 vi0let 阅读(598) 评论(0) 推荐(0) 编辑
摘要: fastbin Fastbin|定义 Fast Bin分类的chunk的大小为32~128(0x80)字节,如果chunk在被释放时发现其大小满足这个要求,则将该chunk放入Fast Bin,且在被释放后不修改下一个chunk的PREV_INUSE标志位。Fast Bin在堆管理器中以单链表的形式存储,不同大小的 阅读全文
posted @ 2022-03-07 21:52 vi0let 阅读(261) 评论(0) 推荐(0) 编辑
摘要: offbyone offbyone|介绍 CTFWiki offbynull的前世今生 严格来说 off-by-one 漏洞是一种特殊的溢出漏洞,off-by-one 指程序向缓冲区中写入时,写入的字节数超过了这个缓冲区本身所申请的字节数并且只越界了一个字节。 堆叠 先来认识堆叠,因为off by系列的目的之一,就是 阅读全文
posted @ 2022-03-07 21:51 vi0let 阅读(107) 评论(0) 推荐(0) 编辑
摘要: unlink unlink|原理 1、简介:俗称脱链,就是将链表头处的free堆块unsorted bin中脱离出来,然后和物理地址相邻的新free的堆块合并成大堆块(向前合并或者向后合并),再放入到unsorted bin中。 2、危害原理:通过伪造free状态的fake_ chunk, 伪造fd指针和bk指针 阅读全文
posted @ 2022-03-07 21:50 vi0let 阅读(37) 评论(0) 推荐(0) 编辑
摘要: UAF UAF 全称:use after free 顾名思义,某块内存在释放后还能被用户使用 一般存在于,free后没有将指针置为NULL,导致野指针的存在 阅读全文
posted @ 2022-03-07 21:49 vi0let 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 堆chunk介绍 堆概述 是虚拟地址空间的一块连续的线性区域 提供动态分配的内存,允许程序申请大小未知的内存 在用户.与操作系统之间,作为动态内存管理的中间人 响应用户的申请内存请求,向操作系统申请内存,然后将其返回给用户程序 管理用户所释放的内存,适时归还给操作系统 堆(chunk)内存是一种允许程序在运行过程中动 阅读全文
posted @ 2022-03-07 21:48 vi0let 阅读(1106) 评论(0) 推荐(0) 编辑
摘要: 整数溢出 整数的运算|初步认识整数溢出 CTFWiki:https://ctf-wiki.org/pwn/linux/user-mode/integeroverflow/introduction/ 在计算机导论、数字逻辑和汇编等课程中,我学到了原码、反码、补码的概念,对于其运算的法则也有了了解。 计算机并不能 阅读全文
posted @ 2022-03-07 21:47 vi0let 阅读(448) 评论(0) 推荐(0) 编辑
摘要: 特殊情况下sandbox的bypass seccomp|绕过沙箱 常见的沙箱绕过思路 ORW Open/openv Read/readv Write/writev 使用开源工具查看seccomp规则 安装链接:https://github.com/david942j/seccomp-tools 特殊的沙箱绕过思路-未检查架构 i386与x 阅读全文
posted @ 2022-03-07 21:45 vi0let 阅读(351) 评论(0) 推荐(0) 编辑
摘要: sandbox介绍 概述 沙箱是什么? 沙箱(sandboxie),也叫沙盘,和军事上的意义相似,所有在沙箱中运行的程序都是模拟演习,并不是真刀真枪。沙箱的工作原理是:将程序运行在一个隔离的空间内,且在沙箱中运行的程序可读不可写,从而避免程序对电脑的其它程序和数据造成永久性的修改或造成破坏。官方用一个很形象的比喻说明了 阅读全文
posted @ 2022-03-07 21:42 vi0let 阅读(317) 评论(0) 推荐(0) 编辑