谈谈 Wafw00f 源码及流量特征
|
这不是本次的重点,相关介绍及使用方法相信大家已经了解,所以此处就直接引用其开发者对该工具的介绍。 To do its magic, WAFW00F does the following: Sends a normal HTTP request and analyses the response; this identifies a number of WAF solutions.通过发送正常的HTTP请求并且分析其返回包,判断其是否使用 WAF ,若使用确认WAF类型 If that is not successful, it sends a number of (potentially malicious) HTTP requests and uses simple logic to deduce which WAF it is.若是无法通过正常的HTTP请求结果分析出是否使用WAF以及其类型,则构造恶意的请求通过简单的逻辑再次进行判断 If that is also not successful, it analyses the responses previously returned and uses another simple algorithm to guess if a WAF or security solution is actively responding to our attacks.如果这也不成功,它会分析之前返回的响应,并使用另一种简单的算法来猜测WAF或安全解决方案是否正在积极响应我们的攻击 使用场景/方法 这不是本次的重点,想要具体了解其用法去其github主页即可 https://github.com/EnableSecurity/wafw00f 本工具的作用上面已经很详细的描述出来了,概括一下很简单:探测目标是否存在WAF,也可以说wafw00f是一个Web应用防火墙(WAF)指纹识别的工具。 使用方法不难,此处不做介绍,若想进一步了解见:WEB 防火墙探测工具 -- wafw00f 使用教程 - General 的个人博客 wafw00f 源码解析 所谓源码解析并不会完整分析其源码中的所有功能,比如 日志、输出、展示 等功能不在我们分析的范围内,而其对 WAF 的检测逻辑、所发流量的特征、WAF 识别的指纹等将是重点要分析的地方。 流程: 解析源码含义,分析特征 抓包观察 源码文件结构 为了方便大家之后去看源码,此处简单描述一下源码的组成,其中没有描述的说明其用不大,大家自己去看就知道了,其中标注important是本工具的主要功能文件,后续将重点说明。 bin lib asciiarts.py evillib.py用于向目标建立连接发起请求( important ) plugins用于判断各个WAF的指纹 ( important ) aliyundun.py阿里云盾的特征值匹配文件 huaweicloud.py****华为云的特征值匹配文件 baidu.py百度云加速的特征匹配文件 …… 还有很多特征文件大家自己去看就好 __init__.py main.py该工具主要的检测、判断功能的类与函数都在该文件中实现( important ) manager.py加载plugins中的WAF指纹判断文件识别目标WAF类型 wafprio.py 上述非important的文件起到的作用多是一些起到 输出选项、连接 等功能的文件/函数,所以不做特殊介绍 请求的流程并不复杂,和最开始介绍处的流程如出一辙: 发送正常HTTP请求,并判断是否存在WAF若存在根据指纹判断其类型。 若正常HTTP检测不出WAF,则附加恶意的请求尝试出发WAF并分析其类型。 最后所谓的根据算法猜测,流量特征不明显,不在此次分析的范围内,实际用处也不大。 (编辑:驾考网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
