[2024领航杯]babyheap题解 [2024领航杯] Pwn方向题解 babyheap前言:当然这个比赛我没有参加,是江苏省的一个比赛,附件是XiDP师傅在比赛结束之后发给我的,最近事情有点多,当时搁置了一天,昨天下午想起来这个事情,才开始看题目,XiDP师傅说是2.35版本的libc,确实高版本libc的却棘手,我经验太浅了调试半天,最后让我们一起看一下这个题目。 保护策略: 逆向分析:功能很齐全啊,该有的都有 add函数最多 2024-10-14 #PWN
house_of_muney[CISCN] house_of_muney首先介绍一下house of muney 这个利用原理: 在了解过_dl_runtime_resolve的前提下,当程序保护开了延迟绑定的时候,程序第一次调用相关函数的时候会执行下面的命令 123push npush ModuleIDjmp _dl_runtime_resolve 这里的n对应的是这个符号在rel.plt重定位表中的下标然后第二个MoudleID则一般 2024-10-10 #PWN
常回家看看之house_of_emma house_of_emma前言:相比较于house_of_kiwi(house_of_kiwi),house_of_emma的手法更加刁钻,而且威力更大,条件比较宽松,只需要lagebin_attack即可完成。 当然把两着放到一起是因为它们都利用了__malloc_assest来刷新IO流,不同的是,house_of_kiwi是通过修改调用函数的指针,还有修改rdx(_IO_heaper_jum 2024-09-13 #PWN
常回家看看之house_of_kiwi house of kiwi前言:house_of_kiwi 一般是通过触发__malloc_assert来刷新IO流,最后可以劫持程序流或者通过和setcontext来打配合来进行栈迁移来得到flag。 我们看看触发的源码 123456789101112131415161718192021#if IS_IN (libc)#ifndef NDEBUG# define __assert_fail(as 2024-09-10 #PWN
NSS小记1 NSS小记1记几道NSSCTF上面的题目 new_fast题目保护情况(保护全开) 64位ida逆向看看 3个功能,add,show,和delete 我们重点看看delete 存在UAF漏洞 add函数最多不能申请堆块大小超过0xff,数量是0x13,puts有00截断 分析程序libc是2.31的存在tcachebin机制,但是因为存在UAF,所以可以delete7个堆块把tcachebin填 2024-08-14 #PWN!
记一次IO_FILE结构体attack 记一次IO_FILE结构体attack平常做题的时候有没有注意到bss段上的这几个数据 12345678910111213141516171819.bss:00000000006020C0 _bss segment para public 'BSS' use64.bss:00000000006020C0 assume cs: 2024-08-10 #PWN!
常回家看看之tcachebin-attack 常回家看看之tcachebin-attack自从glibc2.26之后出现了新的堆管理机制,及引用了tcachebin机制,tcachebin也是主要分配小堆块的,有40条bin链(0x10 - 0x410) 那么这样的分配有很多和smallbin 和fastbin重叠的部分,及malloc申请之后free掉的小堆块优先进入tcachebin中,这样的分配减小的分配堆时候的开销,而且加速了堆的分配 2024-08-03 #PWN!
glibc2.23——house of orange glibc2.23——house of orange什么是house of orange,这个名字的由来是2016年一道题目,它里面的内容跟orange有关,因此这个手法也就相应而出现,其实house of orange 有两个阶段 第一阶段有的时候程序限制了你申请堆块的限制(导致不能申请到unsortbin),或者直接不给你free功能,那么泄露libc地址就成了一个麻烦,但是house of 2024-08-02
常回家看看之fastbin_attack 常回家看看之fastbin_attack原理分析fastbin属于小堆块的管理,这里说的fastbin_attack大多指glibc2.26之前的手法,因为自glibc2.26以后,glibc迎来了一位新成员tcachebin,它减少了堆的开销,使堆管理变得迅速而高效,而且申请的小堆块会优先进入tachebin中,只有tachebin其中一个链表满了再次申请一个相同大小的堆块,若是小堆块再次fre 2024-08-02
DASCTF2022.07赋能赛PWN部分WP DASCTF2022.07赋能赛PWN部分WPeyfor程序保护情况 64位ida逆向可以看见是一个随机数的逻辑,只要我们猜不对4次就可以进入漏洞函数,但是我感觉这原本可能是==号,让用随机数的 那我们就4次不输入一个数就可以进入漏洞函数,这里注意这个a1就是我们进入漏洞函数之前要输入的值,可以看见在read的时候使用的是un int 而判断的是int,那么这里就存在一个类型 2024-08-02 赛题WP #赛题复现