Peach是一款开源的Fuzz工具,是反馈型的Fuzz工具。
Peach官网:http://www.peachfuzzer.com/
Peach下载地址:http://www.peachfuzzer.com/contact/
Peach有一个相较于其他Fuzz工具中不同的地方。
Peach是按照文件的结构进行Fuzz的。
在使用Peach进行Fuzz之前需要编写被称为”Peach Pit”的xml配置文件,其中包含着如何进行Fuzz的关键信息,如下图:
2.2 使用参数
-1:执行第1次测试。 -a:启动Peach代理。不指定”channel”默认为本地代理(默认支持,无需显式启动);
“channel”可以指定为”tcp”远程代理。
-c:统计测试用例数。 -t:验证Peach Pit xml文件正确性。 -p:并行Fuzz。运行Peach的机器总数为M,这是第N个。 debug:调试信息开关。 skipto:指定Fuzz跳过的测试用例数。 range:指定Fuzz的测试用例范围。AFI(American Fuzzy Lop)是谷歌的Michal Zalewski开发的。
AFI的优点:反馈式(插桩),遗传算法,快(fork,开销小)
AFI的官网:http://lcamtuf.coredump.cx/afl/
AFL Fuzz EXE
WinAFL(windows下的fuzz工具)
https://github.com/ivanfratric/winafl
优点:使用lvan Fratric开发
使用DynamoRio插桩
持久循环模式(无fork)
可以API Fuzzing (windows api)
afl-fuzz [afloptions] -- [instrumentationoptions] -- target_cmd_line Thefollowinafl-fuzzoptionsaresupported: -i dir- inputdirectorywithtestcases -o dir- outputdirectoryfor fuzzerfindings -D dir- directorycontainingDynamoRIObinaries (drrun, drconfig) -t msec- timeoutfor each run -f file- locationreadbythefuzzedprogram -M \\ -S id- distributedmode -x dir- optionalfuzzerdictionary Pleasereferto theoriginalAFLdocumentationfor moreinfoontheseflags. Thefollowinginstrumentationoptionsareused -covtype- thetypeofcoveragebeingrecorded. Supportedoptionsare bb (basicblock) or edge (default). -coverage_module - modulefor whichto recordcoverage. Multiplemoduleflags aresupported. -target_module- modulewhichcontainsthetargetfunction to befuzzed. Either -target_methodor -target_offsetneedto be specifiedtogetherwiththis option. -target_method- nameofthemethodto fuzzin persistentmode. A symbol for themethodneedsto beexportedfor this to work. Otherwiseuse -target_offsetinstead. -target_offset- offsetofthemethodto fuzzfromthestartofthemodule. -fuzz_iterations - Maximumnuberofiterationsfor thetargetfunction to run beforerestartingthetargetprocess. -nargs- Numberofargumentsthefuzzedmethodtakes. This is used to save/restoretheargumentsbetweenruns. -debug- Debugmode. Doesnot try to connectto theserver. Outputs a logfilecontainingloadedmodules, openedfilesand coverageinfrormation. -logdir- specifiesin whichdirectorythelogfilewillbewritten (onlyto beusedwith -debug). 本文来自:突突兔@DMZlab 有关文章: https://lolware.net/2015/04/28/nginx-fuzzing.html http://bobao.360.cn/learning/detail/550.html https://www.fastly.com/blog/how-fuzz-server-american-fuzzy-lop http://lcamtuf.coredump.cx/afl/ http://blog.csdn.net/youkawa/article/details/45696317 http://blog.nsfocus.net/peach-fuzz/