wafw00f 防火墙探测

news2024/11/18 17:50:08
kali机器自带防火墙探测工具wafw00,它可以通过发送正常以及不正常甚至包含恶意代码的HTTP请求,来探测网站是否存在防火墙,并识别防火墙的厂商及类型。
安装:
git clone https://github.com/EnableSecurity/wafw00f.git
python setup.py install

一、检测原理

首先发送一个正常的HTTP请求,然后观察其返回有没有一些特征字符,可以识别一些WAF。
如果不成功,则发送多个(可能是恶意的)HTTP请求,触发WAF的拦截来获取其返回的特征进而判断所使用的的WAF类型。
如果还是不成功,则分析先前回复的响应,并使用另一种简单算法来猜测WAF或安全解决方案是否正在积极响应我们的攻击。

、wafw00f使用

  • -p      设置代理
  • -r      不遵循3xx状态的重定向
  • -t      测试一个指定的WAF
  • -o      输出文件,文件类型取决于文件名后缀,支持csv、json、文本
  • -i      从文件中读取目标。输入格式可以是csv,json或文本。
  • -l      显示支持探测的所有WAF列表
  • -H      设定一个头文件信息,用以覆盖默认的头信息
1、支持检测的WAF类型
wafw00f -l
2、测试单个 URL
wafw00f   ip(或网址)
结果显示百度显然是有waf的。它用的服务器应该是BWS/1.1,但响应包中返回的服务器是Apache,猜测可能是修改了响应包头的返回。
结果表明example.org位于Edgecast (Verizon Digital Media) WAF之后。
3、测试多个 URL
wafw00f iqiyi.com mozhe.com
4、匹配所有签名特征的WAFS
wafw00f  ip  -a 
5、-i  从文件中读取目标。输入格式可以是csv,json或文本。
csv格式:
json格式:

三、代码实现主体

插件形式实现各类WAF的检测。
每类WAF检测中,又通过正则匹配响应Headers内容。
访问 https://example.org:
edgecast.py:
#!/usr/bin/env python
'''
Copyright (C) 2022, WAFW00F Developers.
See the LICENSE file for copying permission.
'''
NAME = 'Edgecast (Verizon Digital Media)'

def is_waf(self):
    if self.matchHeader(('Server', r'^ECD(.+)?')):
        return True
    if self.matchHeader(('Server', r'^ECS(.*)?')):
        return True
    return False
F12中看到返回的Headers中有“Server  ECS (sab/5695) ”,与匹配规则匹配,推断https://example.org 网站有防火墙 Edgecast。

四、参考

GitHub - EnableSecurity/wafw00f: WAFW00F allows one to identify and fingerprint Web Application Firewall (WAF) products protecting a website.

聊聊 Wafw00f 源码及流量特征-51CTO.COM

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/374862.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows下载安装Prometheus

目录 资料 下载 解压 点击prometheus.exe运行 资料 Prometheus是一个开源的系统监控和报警系统,同时也支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。 官网:https://pr…

DSIN模型

DSIN模型提出得动机:用户得行为是由会话组成得,在每个会话内部用户得行为是相似得,会话之间得用户的行为是存在较大差异性得,而其他模型都没有关注这点,所以就有了DSIN模型。 在这里我们来讲下DSIN关键得四层&#xf…

PR9268/300-000库存现货振动传感器 雄霸工控

PR9268/300-000库存现货振动传感器 雄霸工控PR9268/300-000库存现货振动传感器 雄霸工控SDM010PR9670/110-100PR9670/010-100PR9670/003-000PR9670/002-000PR9670/001-000PR9670/000-000PR9600/014-000PR9600/011-000PR9376/010-021PR9376/010-011PR9376/010-011PR9376/010-001…

2023年最新qq空间说说怎么全部删除_QQ空间说说如何批量删除

2023年最新QQ空间自动删除说说_2023批量删除QQ空间说说插件小工具_QQ空间如何一次性批量删除说说 一千多条说说怎么删?QQ空间说怎么批量删除_怎样把发的空间说说全删了 使用谷歌浏览器插件,一键安装之后,就可以实现「自动删除」和「手动批量…

SQL入门DEMO

单表查询 ● --查询订购日期在1996年7月1日至1996年7月15日之间的订单的订购日期、订单ID、客户ID和雇员ID等字段的值 ● --查询供应商的ID、公司名称、地区、城市和电话字段的值。条件是“地区等于华北”并且“联系人头衔等于销售代表”。 –查询供应商的ID、公司名称、地…

如何将Google浏览器安装到D盘(内含教学视频)

如何将Google浏览器安装到D盘(内含教学视频) 教学视频下载链接地址:https://download.csdn.net/download/weixin_46411355/87503968 目录如何将Google浏览器安装到D盘(内含教学视频)教学视频下载链接地址:…

正态性检验全流程

正态性检验处理流程 一、分析问题 在实际研究中,正态性是很多研究方法在进行分析时需要满足的前提条件。常见的比如方差分析、T检验、相关分析、回归分析等等,这些分析方法使用的前提假定就是需要数据满足正态分布。 但是这一点经常被分析人员有意或无…

潜伏的 Linux Rootkit:Syslogk

Rootkit 是非常危险的恶意软件,一旦侵入就很难被发现。开发 Rootkit 通常更加困难,很多攻击者都倾向于重用开源项目。 Adore-Ng 是一个相对较老的、开源的 Linux 内核 Rootkit,最初针对内核 2.x 版本开发,但目前已更新为针对内核…

【黑马JVM(1)】内存结构

JVMJVM/JRE/JDK示例JVM内存管理JVM整体架构程序计数器虚拟机栈栈内存溢出线程诊断 top/ps -H/jstack案例一:CPU占用过多案例二: 程序运行很长时间没结果本地方法栈堆堆内存溢出堆内存诊断案例一:jps/jmap/jconsole工具使用案例二:…

Java---打家劫舍ⅠⅡ

目录 打家劫舍Ⅰ 题目分析 代码一 代码二 打家劫舍Ⅱ 打家劫舍Ⅰ 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被…

设备树实践操作

目录一、使用设备树给DM9000网卡_触摸屏指定中断1、修改方法2、实验方法二、在设备树中时钟的简单使用1、参考文档2、知识讲解三、在设备树中pinctrl的简单使用1、几个概念2、设备树中pinctrl节点3、platform_device, platform_driver匹配4、驱动中想选择、设置某个状态的引脚四…

ESP32设备驱动-BMI160惯性测量传感器驱动

BMI160惯性测量传感器驱动 BMI160 是一种高度集成的低功耗惯性测量单元 (IMU),可提供精确的加速度和角速率(陀螺仪)测量。 BMI160 集成: 16位数字,三轴加速度计16位数字,三轴陀螺仪BMI160特性: 高性能加速度计和陀螺仪(硬件同步) 极低功耗:typ.925A(加速度计和陀螺…

BIM小技巧丨关于如何在Revit明细表中显示门窗面积

在明细表中显示门窗面积(以门明细表为例)在新建一个门明细表后,可以发现在Revit中不能直接使用明细表统计门窗面积。 这时,可以通过使用添加“计算值”的方式来处理,得到如下图所示,两种不同的面积统计结果: 除此之外&…

Android 12 快速适配

Android 12 需要更新适配点并不多,本篇主要介绍最常见的两个需要适配的点:android:exported[1] 和 SplashScreen[2] 。一、android:exported它主要是设置 Activity 是否可由其他应用的组件启动, “true” 则表示可以,而“false”表…

满汉楼练习 马踏棋盘

1. 满汉楼 1.结构图 2. 数据库 pwd CHAR(32) NOT NULL DEFAULT ‘’,# 密码,32位 INSERT INTO employee VALUES(NULL, ‘666’, MD5(‘123456’), ‘老韩’, ‘经理’); MD5(‘123456’)是经过MD5加密过后的32位的字符串,用来保存密码 select * fro…

辉光管时钟学习制作及开源软硬件工程

文章目录前言开源地址辉光管项目介绍辉光管的工作条件硬件部分部分介绍充电电路驱动电路不足之处软件部分总结前言 作为一个电子人,一直想做一个辉光管时钟,算是大学的一个心愿,终于在快要毕业前做了一个,下面把软件和硬件的部分…

Windows事件日志监控

大多数数据泄露属内部人员而为,但各企业在监控内部网络活动方面仍存在不足。无论是大型还是小型企业,监控内部网络活动已成为其主要要求。要保护网络安全以防范泄露和威胁,各企业需要采取积极的措施来保证其网络和数据的安全性。监控事件日志…

NCRE计算机等级考试Python真题(四)

第四套试题1、以下选项中,不属于需求分析阶段的任务是:A.需求规格说明书评审B.确定软件系统的性能需求C.确定软件系统的功能需求D.制定软件集成测试计划正确答案: D2、关于数据流图(DFD)的描述,以下选项中正…

跨境人都在用的指纹浏览器到底有什么魔力?三分钟带你了解透彻

什么是指纹浏览器?这是东哥近期收到最多的粉丝私信咨询,指纹两个字大家都很熟悉,指纹浏览器就变得陌生起来。之前东哥也跟大家分享过很多次指纹浏览器的用法,鉴于还是很多人不认识这个好用的工具,东哥今天就来详细给大…

【ICCV2022】 CAPAO:一种高效的单阶段人体姿态估计模型

CAPAO:一种高效的单阶段人体姿态估计模型 重新思考关键点表示:将关键点和姿态建模作为多人姿态估计的对象(Rethinking Keypoint Representations: Modeling Keypoints and Poses as Objects for Multi-Person Human Pose Estimation&#xf…