之前是打算每周写一篇博客的,结果发现这些知识都连不到一起去,有点难受,还是先零散记着,等到以后觉得形成体系了,再去整理博客吧。
第十周
了解了Java语言中关于xml的DOM API
拉取了论文作者的镜像,并使用了作者提供的reuse进行了复现
云服务器好像没法进行可视化的操作,有点头大
复现结果好像不太妙
补充了一些Linux的基本操作
- docker的使用
apt-get update
与apt-get upgrade
的区别 apt-get update与upgrade的区别
继续阅读论文,发现一大堆不懂的东西
ASM bytecode-manipulation
是啥javaagent
又是啥
需要掌握的技术
- 代码编译技术
- 基于源代码的编译
- 基于字节码的编译
- 对代码进行插桩
- 增加一些代码,记录一些语句(变量使用前的checker之类的东西)
- 代码编译技术
第十一周
自己的进度
- 论文阅读完成第一篇
- 收拾了自己的电脑,并发现了WSL
- 学习WSL的安装与应用
- 安装成功,并安装了Windows Terminal 进行优化
- 成功安装了zsh以及oh-my-zsh进行了一定程度上的优化
- 给自己又挖了几个坑,打了好几篇论文
小组进度
skip了
第十二周
- 新增加了3篇需要阅读的论文,内容是关于数学的一些模型
- 找到了阅读代码的入口
- 要根据程序的执行顺序找
- 介个代码从脚本那里找,别从maven插件那里看
第十三周
期末来了…
第十四周
- 继续阅读论文,买了一本《概率论基础教程》打算自学一手
- 开会过程中讲到,我们本科生目前的状态是储备知识、开拓眼界
- 目前项目的大体方向还没有确定,好像老师还在纠结是做generate还是做mutation
目前已经确定的
建立两个概率模型
- 从GitHub上爬取JavaScript相关的数据,这一部分还可以抓取一些其他类型的数据,比如XML类型的
- 从Mozilla上爬取JavaScript的历史数据,根据已有的问题去构建一个概率模型
后期经过比较之后确定这两个概率模型对最终fuzz结果的影响权重
好像是遇到的问题
目前关于黑盒fuzz的相关研究太多,研究已经深入,容易装车,很难凭借这些人手做出一些成果
所以现在需要去设计一个策略去从PUT中抓取数据(插桩?),然后最后结果做出一个灰盒或者是白盒
第十五周
上周完工
- 对前两周读的模糊测试综述的论文回看了一遍,写了一个总结笔记 https://uniqsy.github.io/2020/05/22/%E6%A8%A1%E7%B3%8A%E6%B5%8B%E8%AF%95%E8%B0%83%E6%9F%A5%E7%BB%BC%E8%BF%B0%E9%98%85%E8%AF%BB%E7%AC%94%E8%AE%B0/
- 学习了如何使用
ESLint
但是因为自己对JavaScript了解太少,还没来得及做一个demo试试,但是已经把学到的查到的东西写了一份笔记 https://uniqsy.github.io/2020/05/25/ESlint%E8%B0%83%E7%A0%94%E5%AD%A6%E4%B9%A0%E4%BD%BF%E7%94%A8/ - 在循序渐进学JavaScript,一边看一边整理了一个笔记,https://uniqsy.github.io/2020/05/26/JavaScript%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/,本来打算今天上午做个demo试试,结果上午有点事耽误了,准备等会开完会试试
- 去看了看
funfuzz
工具包,在自己电脑上进行了一些布置,准备试一试,但是现在卡壳了,具体步骤也做了一份笔记,希望大佬能指点一下 https://uniqsy.github.io/2020/05/28/funfuzz%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/
第十六周
上周工作
夏亦凡
- 看了amutation的论文
- 安装了idea的一个插件 antlr-test
其他大一的
- 看了一下language-model的几篇论文