常回家看看之Tcache_Stashing_Unlink_Attack 前言:在开始了解这个攻击手法的前提,需要先了解一个函数也就是calloc函数,众所周知,当libc版本大于等于2.27的时候会引入tcachebin,而Tcache Stashing Unlink Attack就是发生在2.27版本以上,那么这个和calloc有什么关系呢,周知所众,当tcahchebin里面有符合条件的空闲堆块的时候,malloc会优先去tcachebin里面拿堆块,然而call 2024-12-13 #PWN
vmpwn小总结 前言:好久没有更新博客了,关于vm的学习也是断断续续的,只见识了几道题目,但是还是想总结一下,所谓vmpwn就是把出栈,进栈,寄存器,bss段等单独申请一块空闲实现相关的功能,也就是说一些汇编命令通过一些函数来实现,而大部分的vmpwn的切入点大多是不安全的下标,通过下标来泄露一些东西或者修改一些东西等等….. 以下是vmpwn的一些简单的题目,但是有些很复杂的题目需要很强的逆向能力,慢慢的分析 2024-12-13 #PWN
2024御网杯线上Pwn方向题解 ASMChecksec检查保护 基本上保护都关闭了 64位ida逆向 程序只有一段,并且返回地址就是输入的数据,看起来就是srop了,找一下可以用的gadget 通过异或清空rax值,然后通过异或ecx和1,异或rax和rcx即可增加rax的值,同理左移一位同样可以增加rax的值,将rax增加到0xf然后打srop,程序还给出了/bin/sh EXP: 123456789 2024-11-01 #赛题
第八届御网杯线下赛Pwn方向题解 由于最近比赛有点多,而且赶上招新,导致原本应该及时总结的比赛搁置了,总结来说还是得多练,因为时间很短像这种线下赛,一般只有几个小时,所以思路一定要清晰,我还是经验太少了,导致比赛力不从心,先鸽了~ Skillchecksec 检查保护(没有开PIE和Canary) ida逆向分析一下 不同的选项对应不同的功能 漏洞存在show函数里面,当满足情况时候就会执行gets实现溢出 那么在add的时 2024-11-01 #比赛总结
[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!