*CTF 2022 babyarm -- 为什么不能开shell

两周前在*CTF上遇到一道Arm64的Linux kernel pwn,虽然漏洞是非常明显的栈溢出,但是学会怎么利用确实花费了一番功夫,因为确实不是很懂Arm64的一些机制,主要是不知道如何正确地从内核返回用户态。虽然最后磕磕绊绊地做出来了,但是最后没法执行system或者execve直接开shell,无奈只能orw读flag,赛后不论是官方发出的WP还是其他师傅的博客,都没有找到解决这个问题的满意的答案。

于是自己花了点时间分析了一下,终于是找到了根本原因,遂写下此文记录一番,同时希望借此互相学习交流。

Read more
Glibc 2.33利用技巧

Glibc 2.33怎么玩?

Read more
从WMCTF winpwn中学习Segment Heap

本文首发于安全客:https://www.anquanke.com/post/id/253047

比赛的时候没注意,一直把这题当成Nt Heap去做了,最后无功而返,准备等一下官方的writeup学习一下。结果最后没有公布,只能自己再摸索一番了,才发现是个Segment Heap题,由于之前也没有接触过,就比较针对性地学习了一下,同时分享一下解题思路,如果有错误还请批评指正。

Read more
BUUOJ 刷题记录 -- Windows Pwn

本来去年暑假开始学习windows pwn,奈何需要备战考研所以搁置了,现在重新捡起来开始学习,记录一下BUUOJ上做的几个windows pwn题,总的来说windows pwn相对于linux pwn会略显复杂,机制更为繁琐,但是两者仍有一些共通之处。

此外,有关windows的一些保护机制以及绕过方式,将会结合题目一起提到而并不打算单独拎出来做总结。其实这方面的内容网上也有非常多的参考资料,整理得也相当好了,我也就不做过多得重复工作,遇到的时候再稍做记录效率会高一些。

Read more
Learning Windows pwn -- Nt Heap

最近正学习windows下的堆利用,本着扩展知识面再加上以后很大概率会用到的想法,从零开始学起,主要是从AngelBoy大神的Slides里面,再加上网上搜到的各种资料以及手动调试分析,试着去了解一下windows heap的管理机制。

不同于linux,由于windows是闭源的,一下子难以摸清,所以该篇会不断更新,目的仅是为了加深印象以及作为以后的参考。

Read more
kernel pwn: kernoob -- 不仅仅是double fetch

拿去年高校战疫分享赛的一道kernel pwn题作为小白鼠,尝试多种内核利用方法,也踩了不少坑。不过还是学到了不少东西。

Read more
AntCTFxD^3CTF pwn 分析

本文首发于安全客:https://www.anquanke.com/post/id/234263

分享一下比赛中除了Deterministic Heap之外的五道题。

Read more
钓鱼城杯初赛部分pwn

实习的倒数第二天在公司打的最后一场比赛了,贡献一点小小的力量,最后进前十了还是很开心的。但是只搞了两个pwn,剩下的babyrpc没有仔细看,vmpwn卡住了,就暂且写一下剩下部分的wp吧,其他的看看后面能不能搜到wp。

Read more
强网杯线上赛部分pwn

pwn比赛,但是太弱了只能做简单的题,难题只能赛后学习别人的wp了;最后跟着队里打进了前十,大哥们太猛了!就简单记录一下自己做得题好了,本来是想着复现一些题的,但是时间上目前比较吃紧,以后有时间再看吧(咕咕咕)。

Read more
CISCN 2020 初赛 pwn

本文首发于安全客:https://www.anquanke.com/post/id/215100

pwn题全都没给libc,不过好在nofree那道题搞出来之后直接查出来libc的版本,后面就轻松很多了。wow这道题搞了很久,主要代码太长看得有点心累,再看解出题的队伍蛮多的就死磕了。

Read more