WAF识别软件(WAFW00F)以及WAF绕过

article/2025/9/15 21:31:26

责任声明:

本文章仅供学习交流使用,如有利用进行非法行为

上传者不承担任何责任,使用者后果自负

WAF防护分析

什么是WAF?
Web应用防护系统分为两种:软件与硬件

安全公司内部的为硬件,个人或小企业为软件,无论哪一种都是为web提供安全

存在WAF的网站,不要用扫描工具扫,会进行拦截拉黑,请勿未授权对网站进行渗透测试

WAFW00F探查 

软件下载地址:

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

mirrors / EnableSecurity / wafw00f · GitCode

 官方使用手册:.

Home · EnableSecurity/wafw00f Wiki · GitHub

环境配置:python3.0版本及以上

安装:

第一步:下载解压至python的lib文件夹

第二步:打开命令行窗口进入当前软件路径,进行安装 

.

 或者pip安装

进入Wafw00f文件路径运行main.py

 帮助文档

便携打开WAFw00f 

将以下代码复制到txt文档改成bat文件后缀,下次打开直接点击该bat文件就能直接使用

 代码中的进入的路径需要该当前进去wafw00f文件夹的路径 

D:
cd D:\py\pycharm\PyCharm Community Edition 2022.2.2\lib\wafw00f-master\wafw00f\
python main.py
doskey wafw00f=python main.py $*
cmd \k 

 简单测试能否使用

手工探查WAF:

使用F12network查看响应头

云盾:响应头包含yundun关键字;页面源代码有errors.aliyun.com
安全狗:响应头包含waf2.0、Safedog等字样
腾讯云:阻止响应页面,包含waf.tencent-clound.com
阻止响应代码405 method not allow
安全宝:恶意请求时返回405恶意代码 响应头包含X-Powered-by:Anquanbao
百度云加速:响应头包含Yunjiasu-ngnix
创宇盾:恶意请求时页面URL:365cyd.com、365cyd.net

waf绕过

不同的WAF产品会自定义不同的拦截警告页面

在日常渗透中我们也可以根据不同的拦截页面来辨别出网站使用了哪款WAF产品

从而有目的性的进行WAF绕过。

拦截原理

通过他的字典匹配当前输入的字符在字典里有没有存在,有即拦截

而我们想要绕过WAF,则是反向操作

避开字典库里面存在的字符但同时保证注入语句的正常使用

通俗来说检测你使用到了某字符就直接拦截,而你做的是不使用到字典的字符进行注入

提交方式绕过

在网站对其GET注入拦截,没有拦截post的策略下,我们可以更改提交方式为post,cookie、http头部等

前提条件:当前选择的提交方式当前网页代码支持该提交方式 

如果网站使用get只接受参数,用post提交是没有用,需要当前网页支持post提交方式

为什么利用改变提交方式也能绕过,因为部分在get提交的策略,在post上面没有限制

但同时两个都有WAF,则需要通过其他绕过方式,或post加其他

更改提交方式为post(我的靶场网页设置接受为request全接受)

数据提交绕过 

大小写:通过更改字符的大小写

加密解密:字符进行加密

编码解码:base64编码形式

等价函数:mid=ascii,eval=assert

同样执行功能的函数

特殊符号:根据当前数据库可以执行的符号

反序列化:数据通过反序列化格式提交(前提代码接受反序列化格式)

注释符混用:在编写代码的时候开发人员会添加一些注释符进行后续人员的理解

而我们可以利用注释干扰关键词匹配实现绕过

正常get提交页面

排查是哪个字符拦截

 

存在两个字符,拦截 

 存在union,不拦截

  存在select,不拦截

  由此得知拦截的是union select一个整句

-1/*%0a*/union/*%0a*/select/*%0a*/1,2,3#

增加各种干扰字符绕过拦截(增加干扰字符同时确保语句能正常使用)

大小写绕过

单纯的大小写还是会被拦截,这是因为WAF防护软件也会进行升级

再次循环 

加密解密绕过(前提网页有该加密方式)

对使用的字符进行加解密

编码解码()

注释符干扰

#a换行()在url中%23为#,a,%0a为换行

?id=-1%20union%23a%0D%0Aselect%201,2,3#

利用多个注释以及换行干扰 (在mysql中换行不影响代码实现)

-1 union/*//------//*//*
*/select 1,2,3#
?id=-1%20union/*//------//*//*%0a*/select%201,2,3#

?id=-1%20union/*/%27%20%27/*%20//*%0a*/select%201,2,3#

 相当于

 -1 union/*/' '/*//*
*/select 1,2,3#

 %27为单引号

 参数污染

HTTP参数污染:?id=1&id=2&id=3

 

总而言之,进行了参数污染过后,php+apache他会接受最后一个参数 id=-1

但在安全狗中,id=1后面部分已经被注释了,不会对其检测拦截

参数污染漏洞(HPP)挖掘技巧及实战案例全汇总 - 腾讯云开发者社区-腾讯云 (tencent.com)

 其他

FUZZ模糊测试

 类似爆破,脚本通过更换提交数据,对其获取到没有被拦截的

部分网站会ban用IP处理,谨慎使用

.windows使用phpstudy环境安装Apache版安全狗找不到服务名 

参考: Fuzz脚本的编写_合天网安实验室的博客-CSDN博客


伪造白名单绕过

前提条件:
条件1:知道对方白名单内有哪些ip
处理方法:可以通过使用对方网站ip地址,达到伪造网站本地地址访问网站
条件2:在修改http的header进行绕过时,如果网站获取ip是通过tcp网络层是伪造不了,如果获取电脑ip可进行伪造

X-forwarded-for
X-remote-IP
X-originating-IP
x-remote-addr
X-Real-ip 

静态资源

伪造数据传参到了图片文件,文本文件,当注入语句传参到文件,WAF防护是不会对部分静态资源进行识别

(通过解码2进制文件,然后将注入语句编写到二进制文件内)

常见文件后缀,txt,jpg,img,swf,jpeg,css

http://1.1.1.1/sql.php/?id=1

http://1.1.1.1/sql.php/1.jpg?id=1

url白名单

在进行访问admin,manager,system等后台敏感数据,会设置白名单防止误拦
我们可以对其进去注入,它是属于白名单列

http://1.1.1.1/sql.php/admin.php?id=1

爬虫白名单

部分WAF拥有爬虫白名单,而我们将自己伪造成爬虫进行访问,不会被当成攻击进行拦截
识别爬虫的方法:
修改数据包头的伪造成搜索引擎进行爬虫

后续更新其他


http://chatgpt.dhexx.cn/article/9mLcav9V.shtml

相关文章

IPS和WAF区别

写在前面: “前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。” 前言 - 床长人工智能教程 WAF与IPS的区别总结 谁是最佳选择? Web应用防护无疑是一个热门话题。…

waf详解

文章目录 一、waf分类二、waf的工作原理 前言: 在实际的渗透测试过程中,经常会碰到网站存在WAF的情况。网站存在WAF,意味着我们不能使用安全工具对网站进行测试,因为一旦触碰了WAF的规则,轻则丢弃报文,重则…

waf测试

waf简介 WAF防火墙其实就是Web Application Firewall,是一个web应用防护系统。企业等用户一般采用防火墙作为安全保障体系的第一道防线。WAF工作在应用层,因此对Web应用防护具有先天的技术优势。基于对Web应用业务和逻辑的深刻理解,WAF对来自…

云WAF概述

云WAF(Web应用防火墙)是WAF的另一种表现形态,它将WAF的功能在云端进行实现。只需要把域名的解析权交给云WAF,它就可以利用DNS调度技术,改变网络流量的原始流向,将网络流量牵引到云端的WAF上,云端…

WAF的原理

一.WAF的原理 WAF是Web应用防火墙(Web Application Firewall)的简称,对来自Web应用程序客户端的各类请求进行内容检测和验证,确保其安全性与合法性,对非法的请求予以实时阻断,为Web应用提供防护&#xff0c…

WAF介绍

一、WAF产生的背景: 过去企业通常会采用防火墙,作为安全保障的第一道防线;当时的防火墙只是在第三层(网络层)有效的阻断一些数据包;而随着web应用的功能越来越丰富的时候,Web服务器因为其强大的…

sql注入绕过WAF小tips

目录 一. WAF分类 二. WAF工作原理 三. 攻击环境搭建 四. WAF绕过姿势 运算符绕过and、or限制 内联注释绕过order by 添加控制字符绕过union select 函数拆分获取数据库名 在实际的渗透测试过程中,经常会碰到网站存在WAF的情况。网站存在WAF,意味…

WAF简介

今天继续给大家介绍渗透测试相关知识,本文主要内容是WAF简介。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调:严禁对未授权设备进行渗透…

细说——WAF

目录 WAF是什么主流WAF有哪些?WAF的分类软件型WAF硬件型WAF基于云WAF开源型WAF网站内置的WAF IPS与IDS,防火墙与WAF之间的比较和差异防火墙功能IPS入侵防御系统IDS入侵检测系统WAF对比IPS与IDS防火墙与IPS / IDSWAF与IPS / IDS WAF检测手工检测工具检测W…

WAF基本原理与部署方式

WAF介绍 WAF是什么? WAF的全称是(Web Application Firewall)即Web应用防火墙,简称WAF。 国际上公认的一种说法是:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。 WAF…

Windows安装SSH

文章目录 1.微软官网安装教程1.打开powershell2.查看是否安装OpenSSH3.安装ssh客户端4.安装ssh服务端5.启动并配置 OpenSSH 服务器 2.自己安装配置1.下载安装包2.解压3.配置环境变量4.服务安装5.开放端口6.配置开机自启sshd服务7.启动ssh服务端8.测试ssh连接 1.微软官网安装教程…

Linux修改ssh端口

记录:340 场景:在CentOS 7.9操作系统上,修改默认的ssh端口。ssh默认22端口,在实际开展业务中的生产环境中,通常会修改为指定端口号,以满足规范。 版本: 操作系统:CentOS 7.9 1.修…

SSH 基础用法

1.查看网络环境是否通畅 修改主机名称:hostnamectl set-hostname xxxx 查看网络信息:ifconfig 或者用 ip a show xxxx(网卡配置文件名称) 测试网络连接 :ping xxx.xxx.xxx.xxx 输入对应的ip地址 2.使用方式 连接方式: ssh ro…

SSH介绍以及使用

什么是ssh? SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用…

SSH详细使用教程

SSH简介 SSH是一种网络协议,用于计算机之间的加密登录。 适用条件 客户端防火墙禁止80端口的出站流量,无法上网。ssh通过tcp 22端口传输数据,实现上网功能。 SSH常用命令 -C 对传输数据进行压缩,减小…

SSH 公钥私钥

一、简介 一、SSH key简介 要了解SSH key简介,首先得熟悉SSH,SSH 密钥对可以让您方便的登录到 SSH 服务器,而无需输入密码。SSH 密钥对总是成双出现的,一把公钥,一把私钥。公钥可以自由的放在您所需要连接的 SSH 服务…

最全SSH命令 - 11种用法

SSH命令 1.使用ssh连接远程主机2.ssh连接到其他端口3.使用ssh在远程主机执行一条命令并显示到本地, 然后继续本地工作4.在远程主机运行一个图形界面的程序5.如何配置 SSH6.构建 ssh 密钥对7.查看是否已经添加了对应主机的密钥8.删除主机密钥9.绑定源地址10.对所有数据请求压缩1…

什么是SSH

一、什么是远程连接服务器 1、远程连接服务器通过文字或图形接口方式来远程登录系统,让你在远程终端前登录linux主机以取得可操作主机接口(shell),而登录后的操作感觉就像是坐在系统前面一样。 2、远程连接服务器的功能 1&…

Ubuntu 怎么开启SSH

这里使用虚拟机演示,ubuntu版本 22.10 1、安装ubuntu时启用SSH 在安装ubuntu时会提示是否需要安装 OpenSSH server 如果在这里勾选安装后,则不需要在使用命令进行安装 OpenSSH server 2、使用命令安装启用 SSH 01、切换 root 用户,如果未设…

SSH是什么??

首先,SSH是strutsspringhibernate的一个集成框架,它不是一个框架,而是把多个框架紧密的结合在一起,用于构建灵活的多层Web应用程序。然后详细说一下组成SSH的这三个框架: Struts 1.什么是Struts?&#xff…