corctf2022-corchat

来自corctf2022的一道corchat。当时是六月份,就顾着培训了,都没有来得及好好看看题目。听说这道题比较好就来学习一下。这道题难度不高,但是很有意思。和之前刚接触的一道覆盖$fs_base的题目是一样的想法。(后来才知道,原来这种方式叫做覆盖master canary,在多线程题目里面还挺常用的)

wasm-1

关于WASM的基础知识学习。
前一段时间都在实习和做实验室安排的工作,好久没打CTF了。这次参加idekCTF也是感觉力不从心。下学期还有实习,希望能抽出时间看看题目

ics-pa

好久好久之前就想做的ics-pa,在毕业之前一定可以尝试一下!那么就从这个寒假开始吧
感谢南大

但是本篇记录的不是很完整,比较零碎

leetcode-1

预推免了,来刷一点算法题,ctf我对不起你
其实回想学习CTF的这一年半,最快乐的时候还是学习新知识,刚接触heap的那会,还会去学angr和Z3,学逆向,学misc,到现在glibc2.35上来之后逐渐对传统heap chall不感兴趣了。也不知道后面会不会继续打CTF。但是无论如何,他给我的收获都是课堂上知识无法比拟的。
下面的算法题主要来自于leetcode。

Directed_Grey-Box_Fuzzing_with_Provable_Path_Pruning

white box fuzzing一般使用符号执行,天生使用符号执行从根本上限制了他们的扩展能力,并且执行速度一般非常慢(24小时以上),而grey box fuzzing技术并不是直接抛弃拒绝无法达到的路径,而是根据每个seed的score(能够到达目标地址的可能性,通过判定距离目标位置的远近,或者机器学习的方法),给出seed优先权。但是由于不对地址做预先筛选,大部分执行路径是无法到达target site的。

本文给出的Beacon的创新点在于,通过廉价的静态分析,我们可以计算直接导致目标路径不可行的程序变量值的合理近似值,从而根据此就可以修剪超过80%的不可行路径(包含无法到达以及到达时数据条件不满足两种情况)。

crafting-interpreters4

这一节的关键是parsing interpreters,据说是书中最为重要的部分之一。其实等看完了之后发现,应该就是所谓的优先级转换。看完了这一篇还是对前端解析中优先级的处理有了更深的认识,知道了具体是怎么实现的,甚至可以根据自己的需求,调整运算优先级。

crafting-interpreters3

编译器实践第三课,Representing Code

上一章节我们提到如何把代码作为字符串,识别出对应的变量,关键字,表达式,运算符等,并把它们提取出来。而这一章后面一章,将会把这些token转化为更为复杂的内容。这一章关注的是,关于这些“更为复杂的内容”的定义。

house-of-cat

2022强网杯的house of cat。高版本下UAF的直接利用。看了很多wp发现在高版本下,基本所有攻击都聚焦于FSOP方向了。看来这才是大势所趋。

注意到前几天dice_hope也有一个一模一样的题,简单做法是改libc的got表为system,也可以FSOP泄露一个栈地址来劫持返回地址。但是这道题开了沙箱,也就是只能用第二种方法了。

着重参考看雪链接-house of cat

pwnhub2022_easyrop

来自pwnhub春季赛的一道题目,比赛的时候看了,完全没有思路。赛后复现发现题目确实很复杂。但是也学到了非常多。包括:能够任意地址写的magic,反向shell,alarm设置rax,构造syscall指令的方法。

zer0pts2022_accountant

好久没发博客了,一方面因为复现虎符实在是自闭了,一个周末怎么看都没看懂那道vdq和gogogo,另一方面做的buu题目也不是很有价值。这里记录一下复现的2022zer0ctf的accountant。感觉这里的题目还是对我这种菜鸡比较友好的。

kernel-5-bypass_smep1

第五次学习kernel,寒假也接近了尾声。回想一下寒假学了什么,主要是复习了一下堆中不熟悉的IO_FILE攻击、建立了这个博客,pwnable.tw上刷了4道题,学习了kernel,出了一道题,打了一次dicectf。还是感觉时间好快。

RWctf-2022-svme

第一次做VM相关题目,之前也有看到过,但是逆向虚拟机实在太复杂,而且别人的wp根本不会去讲怎么逆向的。这次2022RWctf一上来就是vm题,但是给了源码,而且是比较简短的虚拟机,正好可以借此学习一下逆向vm与一般vm的写法和漏洞点。

|