我可是会飞的啊 主要方向:re,pwn

[libc 2.35 源码学习] IO_FILE 篇 - fread

简介&前言 这是IO_FILE篇的第二个函数分析:fread,本文分析了fread的流程,fread如何读取文件内容返回,fread中的各种缓冲区的使用: // 读取缓冲区,base是起始地址,end是结束地址,ptr是指针 wchar_t *_IO_read_ptr; /* Current r

selph 发布于 2024-02-28

[libc 2.35 源码学习] IO_FILE 篇 - fopen

简介&前言 最近学习各种堆利用技术,发现到处都有用到对 IO 的攻击,但是对 IO_FILE 的了解很模糊,这次来好好探索一下 IO_FILE 的内部,以 libc 2.35 源码为例进行分析学习 fopen做的事情,简单来说就是创建FILE结构体,初始化内容并链接进入_IO_list_all链表中

selph 发布于 2024-02-27

堆利用详解:the house of storm

简介 介绍部分来自参考资料[0],其余内容参考自glibc malloc源码,探究了the house of storm的完整过程,以及一个实例练习 漏洞成因 堆溢出、use after free、edit after free 适用范围 2.23——2.29 可以进行 unsortedbin at

selph 发布于 2024-01-25

堆利用详解:largebin attack

简介 本文参考自 how2heap 和 malloc.c 源码进行介绍,介绍2.23和2.35情况下的largebin attack 漏洞原因 Use-After-Free,overflow write 适用范围: libc 2.23 - 至今 可以伪造largebin chunk的bk_nexts

selph 发布于 2024-01-22

堆利用详解:the house of roman

简介 介绍部分来自参考资料[0],其余内容参考自glibc malloc源码,介绍了其中用到的两个部分fastbin dup和unsortedbin attack,探究了the house of roman的过程,概率的计算,如何爆破,鉴于原理简单和成功率极低,就不做额外实验了 漏洞成因 use a

selph 发布于 2024-01-20

堆利用详解:fastbin dup

简介 本文参考自how2heap和malloc.c源码进行介绍 漏洞原因 Overflow,WAF 适用范围: libc 2.23~至今 可以伪造 fastbin chunk 的 fd 指针 利用原理 修改fastbin chunk 的fd指针指向fake fastbin chunk,使得链表指向伪

selph 发布于 2024-01-19

堆利用详解:the house of rabbit

简介 介绍部分来自参考资料[0],其余内容参考自glibc malloc源码,本文结合源码探讨了malloc中的多种机制:包括malloc consolidation,unsortedbin sort,mmap,heap grow等 漏洞成因 overflow write、use after fre

selph 发布于 2024-01-18

[libc 2.35 源码学习] 断链函数 unlink_chunk

unlink_chunk /* Take a chunk off a bin list. */ static void unlink_chunk(mstate av, mchunkptr p) { // 安全检查:如果当前chunk的大小不等于next chunk的prev_size,说明

selph 发布于 2024-01-12

堆利用详解:the house of orange

简介 简介部分来自参考资料[0],所有malloc流程性内容全部参考源码进行分析 漏洞成因 overflow write 适用范围 2.23——2.26 没有 free 可以 unsortedbin attack 利用原理 house of orange 可以说是开启了堆与 IO 组合利用的先河,是

selph 发布于 2024-01-11

堆利用详解:Unsortedbin Attack

简介 漏洞原因 Overflow,WAF 适用范围: libc 2.23~2.29 可以伪造 unsortedbin chunk 的 bk 指针 利用原理 这个攻击允许把arena unsortedbin的地址写入任意位置,这个过程被称为partial unlinking,出现的原因是因为断链的时候

selph 发布于 2024-01-10

堆利用详解:the house of force

简介 介绍部分,来自参考资料[0] 漏洞成因 堆溢出写 top_chunk 适用范围 2.23——2.29 可分配任意大小的 chunk 需要泄露或已知要操作的目标地址 利用原理 对 top_chunk 的利用,过程如下: 申请 chunk A 写 A 的时候溢出,修改 top_chunk 的 si

selph 发布于 2024-01-08

[libc 2.35 源码学习] 申请内存 usetop

_int_malloc use_top: /* 如果足够大,分割top chunk If large enough, split off the chunk bordering the end of memory (held in

selph 发布于 2024-01-07

堆利用详解:the house of einherjar

简介 介绍部分,来自参考资料[0] 漏洞成因 overflow write、off by one、off by null 目的是修改chunk的prev_inuse标志位 适用范围 2.23—— 至今 可分配大于处于 unsortedbin 的 chunk 利用原理 利用 off by null 修

selph 发布于 2024-01-06