西湖论剑IOT-inkon 西湖论剑IOT-inkon题目给出了完整的镜像内核以及启动脚本 这里加了一个映射端口用来调试,因为启动的虚拟机是和宿主机共用ip的,这里映射了80端口和2222端口 可以通过scp来传输文件,比如 1scp -P 2222 ./run.sh ./gdbserver.mipsle root@127.0.0.1:/root/cpio-root/etc_ro/lighttpd/www/cgi-bi 2025-03-28 #IOT
CISCN&CCB半决赛2025_PWN_WP CISCN&CCB半决赛_2025_PWN_WP前言:记录一下第一次打半决赛国赛,总结来说还是自己太菜了,还有check脚本是真的很shi,正规军白给了。。。 typobreakedit函数内部,使用了snprintf 来实现,漏洞是因为,size参数和格式化的参数顺序反过来了。导致了堆溢出以及格式化字符串漏洞 后来在栈上发现没有合适的链子使用,但是可以直接通过堆溢出漏洞来进行实现tea 2025-03-19 #PWN_WP
常回家看看之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