最近这段时间学习了一下 Windows heap 利用,大致感触为Windows 的 heap 利用比起 Linux 要繁琐许多,因为 Windows 中并没有类似于 __free_hook 这些可以劫持执行流的指针,类似于 Linux got 表的 IAT 表也是只读的,所以要最终实现利用往往需要通过一系列冗长的 leak 找到栈地址然后 rop。Windows 闭源,虽然微软提供了 pd...
这次比赛里面出现了一个 rust pwn,到最后只有两解。我在比赛中只解出了此题,其实难度并不大,只是漏洞点光靠代码审计难以发现。这里简单分享一下我的解题过程。拿到手,先逆流程,rust 的程序反编译后比较难看,只能硬着头皮逆,不过程序没有去除符号,结构体的定义都在,相对会容易一点。首先可以分析出,在 vdq::get_opr_lst 中读取所有的操作,操作输入后反序列化到这里core::r...
这次的 D3 出了两道题,有些师傅觉得第二题 d3bpf-v2 是对 d3bpf 出现非预期的修补,其实并不是。两道题都是入门级的 ebpf 利用题(因为我也只是初学者不可能出的难到哪里去),第一题用的 kernel 版本着实有点奇怪,受到许多 CVE 影响,有些师傅只用了公开的 exp 改改偏移就出了。第二题则是因为新版本的 kernel 中加入了 mitigation,旧的利用方式失效,...
这场 SUSCTF 的 pwn 题难度并不算高,我们做到凌晨一点多终于 ak 了 pwn。其中我做了 rain 这题,@xi4oyu 和学弟 @h4kuy4 一起解了 happytree 这题,然后我和 @xi4oyu 一起做了 mujs 和 kqueue。rain 是一个普通的堆题,比较简单,mujs 是一个 js 解释器 pwn,以前没接触过,小语想出了类型混淆的方法,我借此 debug...