Fuzzing

每当大家讨论模糊测试技术的时候,对它的第一印象往往定格在:漏洞挖掘常用技术、闭源软件漏洞挖掘、二进制文件检测分析、黑盒漏洞检测技术等等。或者,你的心里也是这么想的?但是,我想说:经历了不同时代范式的迭代成长,模糊测试已然不是你心中认为的样子了。
近几年来,自动化漏洞挖掘技术成为网络安全的重要研究方向。传统的漏洞挖掘技术面临着耗时长、误报多等痛点,且无法全面地探测目标软件中的已知与未知漏洞。
这个workshop由几个challenge组成,这些challenge的目的是用AFL在开源软件里复现漏洞。漏洞主要包括下面几个,每个漏洞都有自己的特色。
为啥叫傻瓜式fuzzing呢,可能我觉得吧,一步一步从最初始的部分去探索和研究将会很好玩,不过有时候也会很难(遇到问题的时候),但是解决每一个问题都会有小小的成就感,继续激励前行,坚持下去总会有收获的,我会把我对fuzzing的探索与研究做成一系列的paper,希望大家同样觉得很好玩,have fun。
我们从没头没脑的随机生成fuzzing字符串到现在终于可以利用语法“随心所欲”的生成符合我们要求格式的字符串,但在语法方面,仍有大量的知识等着我们学习,下一篇内容仍将聚焦于语法部分,期待我们的史莱姆再次升级。
上一篇内容中我们引入了多路径探索、模式更新等内容,这次我们会引入新的思路,并且尝试特定路径上的搜索。
上篇文章中我们讲到了输入的“变异”以及选择“变异”模式的一些心得,这篇文章我们就来看看实现模式选择的一些技术细节。同时我们也要跳出单一路径的思想,让我们的fuzzing找到更多的路径。
在上篇文章中我们实现了最简单的Fuzzing工具,这次我们就在之前的基础上,实现第一次“升级”,同时也给大家分享一些我个人的经验,让大家能够定制自己的fuzzing工具。
强网杯以来就一直很想系统性的学习fuzzing技术,fuzzingbook可以说是fuzzing技术学习的圣经,但因为它全英文编写,且长度感人,因而很多人都望而止步。我将自己的学习经验分享给大家,希望能帮助大家更好的学习fuzzing技术。