风之栖息地

风之栖息地

habitat of wind

pwn.college 学习笔记(1)
前言之前一段时间找到了pwn.college这个网站,发现里面的模块划分的十分详细,题目也简单容易上手,非常适合我这种菜鸡作为训练题,于是从年前开始一直刷到了现在。中间由于写论文和答辩的事情耽误了很久,到目前为止也只刷完了一半的模块,为了巩固学到的一些内容,将其整理成学习笔记的方式,也欢迎各位师傅一起讨论。最后之所以不把具体的题解放出来,一是因为其中有很多题目都是举一反三的性质,全部写出来会显得很啰嗦;二是因为该网站的创始人说尽量不要在网上公开writeup,这个是他们的课程练习网站。综上,我只在这里记录题目中的关键思路和学到的知识点。 module1 程序IO交互模块命令行与shel...
一个双非安全菜鸡的秋招总结
前言师兄们曾在牛客上总结了自己的秋招,在反复阅读的过程中深受鼓舞,所以在我的秋招基本告一段落之后也是选择记录下来,为社区贡献一点微薄之力。 同时,网上的安全相关面经特别稀少,想要找人交流又无从下手,很多时候只能依靠师兄师姐学长学姐们提供的信息。希望借此机会与安全圈的师傅们一起愉快交流。 求学经历回顾这一段经历,想起一句话:上帝为你关上一扇门的同时,也会为你打开一扇窗。 早在大三的时候就对这里有所了解,不过当时是在另外一个实验室中,最初的感受是这里环境的高大上,有厉害的学长和畅聊技术的良好氛围。然而世事难料,当时考研遇到了名额缩减,不是20%,30%这种程度的缩招,是直接没了80%+。被这...
记最近一个月面瘫那点事
这个标题看起来确实有点惊悚,但实际上也只是得了一个有点特殊的病。好在已经恢复的差不多了,记录一下发生过后如何处理,应对以及会给生活带来什么样的影响。 事发之前的征兆?得这个病的时机比较奇怪,在被派去出差之后的第二天就开始了。。。起初是下午的时候右眼皮开始狂跳,体感上跳了很久有半小时到一小时左右,除了右眼皮狂跳之外身体也很疲倦,脑子完全不太想动,那个时候本来想着去休息的,但考虑到这才第二天而且还有人看着,直接溜去休息太不好,就一直顶着。。。最后到晚上吃饭的时候发现右边的嘴有点抬不起来,吃饭比较吃力,到晚上回宿舍的时候已经能够发觉右半边的嘴无法和左半边同步。笑的时候嘴是歪的,23333(歪嘴...
hw2021 蓝队总结
拖了好久,终于趁着休息的时候简单总结一下第一次hw学习到的东西。(应该也是最后一次) 前期准备资产梳理与排查在hw前期,需要梳理防护单位的资产,比如哪些服务器是用来做什么的,网络拓扑结构,有哪些防护设备,防护设备都开启了哪些设置。对于不重要的服务和业务应该尽可能的关闭,减少攻击者能利用的攻击面。同时排查现有服务器中是否存在漏洞和过去遗留下的后门木马。 防护设备配置在完成资产的梳理和排查之后,需要对相关的业务做防御加强,配置相关的WAF和防火墙过滤攻击流量。然后配置探针获取外网到内网以及内网之间的流量数据,这些流量数据搭配一些日志分析平台,监控网络攻击的实时情况,同时流量数据也能为之后的溯...
Linux 内核安全机制总结
文章首发于安全客 https://www.anquanke.com/post/id/238363 前言之前面试被问到了内核安全机制的相关问题,但是没有很好的回答出来,所以在此以学习的目的总结这方面的知识。欢迎各位师傅一起交流讨论。 防御框架说到Linux内核防御就不得不提起那张广泛流传的Linux Kernel Defence Map。这里放出两个不同版本的对比图,可以看到新版本中又对老版本的地图做了一些修改和添加。新图在老图的基础上修改了一些语言描述,并且调整了排列顺序,增加了ARM,Intel的硬件防护,clang的CFI,PAX_RAP。所以这里我会按照新图的顺序来讲解。 这个...
西湖论剑 IoT闯关赛 2020 pwn3 ezarmpwn
文章首发于安全客 https://www.anquanke.com/post/id/224972 前言打了安恒举办的西湖论剑比赛,题目都是跑在一个开发板上的,通过数据线连接开发板的otg接口能访问题目环境。pwn题目一共有三道,其中有一道题目因为逻辑上的问题导致能比较简单的获得flag,另外一道题目是boa服务器在处理http认证过程中,发生栈溢出。我们这里分析的是这次比赛的第三道pwn题ezarmpwn。 题目分析通过file和checksec能够知道程序为32位的arm小端程序,开启NX保护,没有PIE和canary保护。 主办方给出的libc为2.30,把libc解压的文件夹和题...
2020 bytectf gun writeup
这周打了一下ByteCTF,发现差距还是很大的,现在的很多堆菜单题都上2.31,新版本的题目需要多熟悉熟悉。 分析checksec保护全开,逆向的时候发现其中有prctl函数,用seccomp-tools查看沙箱逻辑。 看这个逻辑只能使用orw的方法获得flag。整个程序主要由三个功能,射击子弹,上膛子弹,购买子弹,购买子弹会malloc,同时有一次向chunk写数据的机会,购买的子弹会通过一个18字节大小的数据结构管理。chunk指向分配的堆块,next指向其他堆块形成一个链表,flag是标志位分别有0,1,2,表示不同的状态。 12345struct { char*...
2020 TCTF final SecureJIT writeup
第一次打final 被打的头都炸了,555555。过去三周了,还是水一下这道签到题。 题目情况作者搞到了一个ruby的jit——rubi,其中打了patch,让执行代码的区域变成不可写的情况。 12345678910111213141516diff --git a/engine.c b/engine.cindex 79e83d2..2350d59 100644--- a/engine.c+++ b/engine.c@@ -137,6 +137,11 @@ static int execute(char *source)init();lex(source);parser();+ long ...
2020强网杯 强网先锋のpwn
受到摸鱼和各种项目压力之后,终于发出来了,这次是强网杯中强网先锋的4道pwn题,剩下的pwn题还在陆续复现ing,在做了在做了ing babymessage一道神奇的栈溢出题目,有三个功能,写name,写message,输出buf,其中message的数据会被strcopy到buf上。这里的溢出点是在写message的功能上,一开始只能够溢出16字节,覆盖掉栈变量+rbp的值。这里如果只是看反编译的代码是看不出问题的,一定要观察汇编代码,这也是我经常失误的地方不太爱看汇编,555555。 这里的写message的函数里带着一个局部变量size,而这个变量因为是局部变量,它是受到rbp的值...
glibc堆利用之off by one的两道CTF题目
b00ks这是一道asis ctf 2016的题目,主要功能是书本记录,除了基本的书本的增删改查功能,还有一个作者名称的改变。程序是一个基本保护除了canary其他全开的64位程序。 调试写exp的过程参考了ctf-wiki,先知社区一篇文章,和另外一个博客。很多细节上面的文章已经写的很详细了,我补充一些其他细节点。 这里漏洞的问题是出现在程序自定义的读取函数中,在读完规定长度的数据之后又会在末尾填一个0,这样就会溢出一个空字节。这种漏洞被称为OBO(off by one),这里一共使用了两次,第一次是先把作者name全部填满,这样溢出的0字节就在下一个区域中,随后这个程序有一个管理全局...
avatar
hurricane618
May the wind guide you