study-day-day-up-up / Skr_Learning

天问之路1-学习笔记。内容包括但不限于C++ STL、编译原理、LLVM IR Pass代码优化、CSAPP Lab、uCore操作系统等等

Home Page:https://kiprey.github.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

天问之路

这里将定期记录着一些与Sakura师傅以及一群小伙伴共同学习的内容与进度。


第1-2周(2020.5.18-2020.5.29)

主要任务:STL

  • 第1周(2020.5.18-2020.5.23):学习基础的概念,例如traits之类的
  • 第2周(2020.5.23-2020.5.29):数据结构抄到list

第3-6周(2020.5.29-2020.6.28)

主要任务:编译原理

  • 第3周(2020.5.29-2020.6.05):词法分析与语法分析
  • 第4周(2020.6.05-2020.6.14):逆向CS143提供的标准语义分析器
  • 第5周(2020.6.14-2020.6.21):抄PA5目标代码生成,研究了一下flex和bison
  • 第6周(2020.6.21-2020.6.28):整了一份Compiler总结,恶补Makefile、完成LLVM IR PASS assignment1

第7-8周(2020.6.28-2020.7.12)

主要任务:LLVM IR Pass 代码优化

  • 第7周(2020.6.28-2020.7.05):完成LLVM IR Pass的所有三个Assignment,看了点GC的算法篇
  • 第8周(2020.7.05-2020.7.12):大一暑期实训(1/2周)

第9周(2020.7.12-2020.7.19)

主要任务:AFL_LLVM_mode源码分析

第10-11周(2020.7.19-2020.8.02)

主要任务:CSAPP

  • 第10周(2020.7.19-2020.7.26):CSAPP LAB做到第五个Lab-Cache Lab
  • 第11周(2020.7.26-2020.8.02):完成CSAPP全部Lab

第12-19周(2020.8.02-2020.9.27)

主要任务:uCore Lab (第15-18周期末复习)

  • 第12周(2020.8.02-2020.8.09):完成Ucore-Lab1,正在研究Lab2
  • 第13周(2020.8.09-2020.8.16),完成uCore-lab2 lab3
  • 第14周(2020.8.16-2020.8.23):信安国赛 + 朗诵比赛准备。完成Lab4Lab5(除了Challenge)。Lab5 Challenge的写时复制代码已经完成。
  • 第15-18周(2020.8.23-2020.9.20):大一下期末复习 + 期末考
  • 第19周(2020.9.20-2020.9.27):uCore完成Lab6Lab7,uCore-Lab8视频刚开始看,笔记还没来得及做

从第20周开始,所有涉及的资料以及分析等等均在个人博客上发布。

第20周(2020.9.27-2020.10.04)

  • uCore-Lab8 终于结束,PlaidCTF2020 Mojo还在挣扎,看了点调试器的文章

第21周(2020.10.04-2020.10.11)

  • Mojo完成,CVE-2019-5826在看blackhat稿子

第22周(2020.10.11-2020.10.18)

第23周(2020.10.19-2020.10.25)

第24周(2020.10.26-2020.11.01)

  • 完成CVE-2020-6541分析
    • 10.27:看了一点CVE-2020-6541的内容,尝试追溯其调用链
    • 10.28:该漏洞研究完成,笔记已上传
    • 10.29:下拉V8代码并编译(代理设置搞了半天才好)
    • 10.30:忙学校的事情
    • 10.31:忙评奖的事情
    • 11.01:打湖湘杯

第25周(2020.11.02-2020.11.08)

JSPromise type confusion学习

  • 11.02:装了一下issue1784的调试环境
  • 11.03:阅读了一个下午的issue1784,发现装环境的方向错了,再装了一个chrome release
  • 11.04:仔细审计v8源码,终于理解JS的type confusion
  • 11.05:上课
  • 11.06:尝试找到blink-in-js调试方式,无果
  • 11.07:审计一天,遇到了相当多的问题,暂时无法解决。不过基本上已经了解大部分关于Promise的内容,达到了目的,可以开始下一步的学习。
  • 11.08:肝课程作业

第26周(2020.11.09-2020.11.15)

CodeQL学习、寒假实习面试

  • 11.09:CodeQL配置环境
  • 11.10:大二寒假实习面试
  • 11.10:CodeQL重新配置环境
  • 11.11:完成Chromium下载链接爬虫
  • 11.12:阅读CodeQL脚本
  • 11.13:阅读CodeQL doc,了解其基本语法
  • 11.14-11.15:完成日常课程作业

试用了一段时间,发现日报模式可能不太适合我,因此切回周报模式。

第27周(2020.11.16-2020.11.22)

  • 下拉chromium 24gb的源码、期中复习(1/2)

第28周(2020.11.23-2020.11.29)

  • 期中复习(2/2)

第29周(2020.11.30-2020.12.6)

  • 完成学校4份实验+6份报告

第30周(2020.12.7-2020.12.13)

  • CodeQL完成所有基础语法的学习
  • 编写了检测V8callback的ql来练手

第31周(2020.12.14-2020.12.20)

  • CodeQL编写了DispatchEvent的QL,仍然存在一些问题
  • 完成学校5份实验7份报告

第32周(2020.12.21-2020.12.27)

  • 看了几个github securityLab关于CodeQL的几个例子,写了篇博客
  • 同时还完善了扫描DispatchEvent的QL代码

第33周(2020.12.28-2021.1.3)

  • 学习GoogleCTF2018(Final) Just-In-Time,刚配置好环境

第34-36周(2021.1.4-2021.1.24)

  • 期末复习+考试
  • 完成V8 turboFan的学习。

第37-41周(2021.1.25-2021.2.28)

  • 静态编译器研发实习(关于静态指针分析方向 之 FlowSensitive,以及学习构建控制依赖图算法 CDG)
  • 完成CVE-2021-3156 sudo 提权漏洞的简单分析。
  • 了解了点 V8 的 Gabage Collection
  • 学习 V8 历史漏洞
    • CVE-2019-13764 TypeInductionVariablePhi in v8 JIT分析
    • V8 CVE-2019-5755 MinusZero类型缺失漏洞 in turboFan

第42周(2021.3.1-2021.3.7)

  • 分析了 CVE-2018-16065 in V8 EmitBigTypedArrayElementStore
  • 做了个针对 BurpSuite v2.0 beta 的 exploit

第43周(2021.3.8-2021.3.14)

  • 做了个针对 BurpSuite pro v2020.2 的内置 chromium 的 exploit(由于开启沙箱因此最终无法利用),学习了一下 v8 指针压缩的漏洞利用
  • 学习 IDAPython 插件的编写,学习 ida 指令回溯的算法实现,完善firmeye 插件在 x86 架构下的实现。

第44周(2021.3.15-2021.3.21)

  • 学习 IDAPython 插件的编写,完成Analysis以及输出部分,更加便于使用。

第45-46周(2021.3.22-2021.4.4)

  • 了解整数溢出相关的漏洞模式
  • 阅读代码审计、程序结构的一些特点
  • 面试腾讯玄武实验室 生态组 客户端安全
  • 阅读了一部分 WebServer 的源码,学习其中的开发技巧

第47周-第48周(2021.4.5-2021.4.18)

接下来3-5周有点摸,主要是学校课业压力有点大,时间太碎片化了。。。

最主要还是完成学校 N 份报告 + 调研 + 视频作业 + 期中考试复习(都是时间吞噬者)。。。

  • WebServer 源码又看了一部分,主要把 base 里面多线程相关的内容理解了一下
  • 学习了一点点关于 V8 Concat 的漏洞,这两天得再调试一下。
  • 简单了解了一下推特上那个 chrome 0.5 day 的漏洞,关于 v8 backend。
  • 完成所有面试,腾讯玄武实验室-生态安全组-客户端安全,offer到手。

第49周(2021.4.19-2021.4.25)

  • HNU算法设计课程复习 + 算法设计期中考试 + 课程报告(1/2)

  • 学习某某软件(for android) 的 n day exploit 利用

    编译 v8 for debug 时只去除 abort in V8_Fatal 会有坑,DCHECK没去除干净,会引发 SIGSEV T_T。。。

  • 试着对某些漏洞补丁,通过 Regress / POC 来构造 exp。

    不过大多数都构造不出来 T_T,在原地踏步。正所谓看答案一看就懂,做题一做就废

    时间还是太短,积累的还是不够。

  • 技术提升遇到瓶颈。与教练聊了一下,明确了自己当前存在的问题,对接下来学习的重点有了一点大概的方向。

    问题:钻的不够深、探的不够广,时间不太充裕,且学校课程/活动使可用时间进一步碎片化

  • 买了一本《计算机网络》,准备先开坑用 C++ 实现一个自己的 WebServer。只读别人的代码没有什么收获,还是边写边学效果会更好一点。

    WebServer 这个任务将长期进行下去,打持久战 QwQ.

    • 目前 WebServer 实现了互斥锁条件变量的封装
    • ThreadPool 实现了部分

About

天问之路1-学习笔记。内容包括但不限于C++ STL、编译原理、LLVM IR Pass代码优化、CSAPP Lab、uCore操作系统等等

https://kiprey.github.io/


Languages

Language:C 48.2%Language:C++ 15.4%Language:Java 10.3%Language:Assembly 10.0%Language:Python 4.0%Language:Perl 3.7%Language:Shell 2.6%Language:Makefile 2.2%Language:HCL 1.2%Language:Cool 1.2%Language:Tcl 0.4%Language:LLVM 0.3%Language:Yacc 0.2%Language:Lex 0.1%Language:CMake 0.0%Language:sed 0.0%Language:Dockerfile 0.0%Language:HTML 0.0%Language:Emacs Lisp 0.0%