关于WAF-A-MoLEWAF-A-MoLE是一种功能强大的基于突变的模糊测试工具,可以帮助研究人员对基于ML的Web应用程序防火墙进行模糊测试。只需提供SQL注入查询,该工具就会尝试生成绕过目标WAF的语义不变变体。我们可以使用WAF-A-MoLE来探索解决方案空间,找到目标分类器遗漏的危险“盲点”,我们可以使用这个工具来评估产品的鲁棒性。ToolArchitectureWAF-A-MoLE可以获取初始的Payload并插入到Payloadpool中,Payloadpool会负责管理一个Payload优先级队列。在每次迭代期间,有效载荷池的标头都会传递给模糊器。在模糊器中,有效负载池通过应用可用的变异运算符之一随机变异。MutationoperationsMutationoperations都是在语义上保留的,它们利用了SQL语言(在这个版本中是MySQL)的高表现力。以下是WAF-A-MoLE当前版本可用的变异操作:工具要求numpykerasscikit-learnjoblibsqlparsenetworkx点击工具下载&安装研究者可以使用如下命令将项目源码克隆到本地:gitclonehttps://github.com/AvalZ/WAF-A-MoLE.git然后运行如下命令完成依赖组件的安装:pipinstall-rrequirements.txt工具使用(一)wafamole--helpUsage:wafamole[OPTIONS]COMMAND[ARGS]...选项:--helpShowthismessageandexit.Commands:evadeLaunchWAF-A-MoLEagainstattargetclassifier.(2)wafamoleevade--helpUsage:wafamoleevade[OPTIONS]MODEL_PATHPAYLOADLaunchWAF-A-MoLEagainstattargetclassifier.选项:-T,--model-typeTEXTEGting-TimemodhenTypeofclassifieroutload--timeoutwevr,--max-roundsINTEGERMaximumnumberoffuzzingrounds-s,--round-sizeINTEGERFuzzingstepsizeforeachround(parallelfuzzingsteps)--thresholdFLOATClassificationthresholdofthetargetWAF[0.5]--random-engineTEXT用户随机转换而不是进化引擎。设置试验次数--输出路径文本位置将保存随机引擎的结果。不使用常规EVOLUTIONENGINE--帮助显示此消息并退出。性能评估项目地址WAF-A-MoLE:【GitHub传送门】
