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

2023-11-15

责任声明:

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

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

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

后续更新其他

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WAF识别软件(WAFW00F)以及WAF绕过 的相关文章

随机推荐

  • 互联网大厂2021中秋礼盒pk,看完我又酸了……

    作者丨魏宇卓 来源丨运营研究社 ID U quan 马上又要到中秋节啦 每年中秋节 我最喜欢的就是吃着在便利店买的寒酸月饼 围观互联网大厂们在中秋礼盒上互相 battle 今年 大厂的月饼礼盒哪家强呢 我特地挑选了 10 家互联网大厂的中秋
  • 如何一次性批量打印PDF、Word、Excel、PPT和图片 - 文件批量打印工具

    一次性自动批量打印PDF WORD DOC DOCX Excel工作表XLS XLSX CSV PowerPoint PPTX PPT和JPG PNG TIF BMP图像 在日常工作生活中 我们时常需要通过打印机打印文件或照片 打印机都是逐
  • 【Unity Shader】概述以及Diffuse shader和unity5新功能Standard shader

    一 Diffuse shader介绍 Diffuse 即漫反射 可以想象成太阳光照射到某一个粗糙平面时 该平面向四面八方都会反射光线 这些光线中的某些光线会进入我们的眼睛 从而使我们看到这个平面 一个基本的漫反射光照模型 需要包括以下几个部
  • 0 基础 Java 自学之路(2023年最新版)

    目录 一 语言的选择 二 Java学习路线 三 学习资料哪里找 1 Java经典书籍推荐 2 Java经典视频推荐 3 经典博客推荐 四 如何规划时间 五 是否要报培训班 写了10多年的代码 之前做过某东的高级架构师 在技术这条路上跌跌撞撞
  • python-leetCode-给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的两个整数

    给定一个整数数组 nums 和一个目标值 target 请你在该数组中找出和为目标值的 两个 整数 你可以假设每种输入只会对应一个答案 但是 你不能重复利用这个数组中同样的元素 示例 给定 nums 2 7 11 15 target 9 因
  • R语言编写函数

    基本思路参考此文章 http blog csdn net myl1992 article details 44936009 在这片博文中涉及到list相关知识 很受用 http blog csdn net u012543538 articl
  • Hudi 基础入门篇

    Hudi 诞生 Apache Hudi由Uber开发并开源 该项目在2016年开始开发 并于2017年开源 2019年1月进入 Apache 孵化器 且2020年6月称为Apache 顶级项目 目前最新版本 0 9 0版本 Hudi 一开始
  • JSONArray属性值的修改

    之前直接通过生成字符串后进行字符串替换实现的 实际上这里可能会替换调value的值中相同的字符 虽然概率很低 但是鉴于对个人的严格要求 还是严谨地修改了实现方法 主要基于如下的方法 public static JSONObject tran
  • VC++ 文件操作封装类

    头文件声明 SysUtils h pragma once include
  • 什么是模式识别,模式识别概念的基本介绍

    模式识别又常称作模式分类 从处理问题的性质和解决问题的方法等角度 模式识别分为有监督的分类 Supervised Classification 和无监督的分类 Unsupervised Classification 两种 模式还可分成抽象的
  • Python入门之类和对象

    对象 属性 方法 对象是类的实例 换句话说 类主要定义对象的结构 然后我们以类为模板创建对象 类不但包含方法定义 而且还包含所有实例共享的数据 封装 信息隐蔽技术 我们可以使用关键字 class 定义 Python 类 关键字后面紧跟类的名
  • TextureTailor自制Plist碎图工具

    最近在开发小游戏 美术资源是个令人头疼的问题 故搜寻了一些网上的资源文件 但是总被plist格式和png图片格式所困扰 在参考了一些大佬的代码后自制了一个符合我个人需求的小工具 先放源码地址 TextureTailor 再来预览一下效果 界
  • linux服务篇-RSYNC数据备份

    Rsync remote sync 是UNIX及类UNIX平台下一款神奇的数据镜像备份软件 它不像FTP或其他文件传输服务那样需要进行全备份 Rsync可以根据数据的变化进行差异备份 从而减少数据流量 提高工作效率 你可以使用它进行本地数据
  • 关于深度学习中的分类器

    因为之前一直都是用caffe做图像去噪 增强方面的工作 没太接触分类 上个学习会上通过报告学习了下关于分类的相关基础知识 为接下来分类的相关工作研究奠定下基础 基础之分类器 1 SVM 线性核SVM 一般应用于多分类 分类的结果 如3分类
  • 开关电源环路学习笔记(6)-开关变换器传递函数Gvd(s)推导过程

    终于到了最关键的环节 也是最难的环节 如何求出开关级的传递函数 也就是下图这一级 哎 不得不说 太难了 不过没办法 先前夸下海口 跟兄弟们说我要把环路搞清楚 现在搞不动也得搞啊 这一级之所以这么难 主要是有开关元器件 本身是非线性的 当然了
  • ip命令网络配置

    Linux的ip命令和ifconfig类似 但前者功能更强大 并旨在取代后者 使用ip命令 只需一个命令 你就能很轻松地执行一些网络管理任务 ifconfig是net tools中已被废弃使用的一个命令 许多年前就已经没有维护了 Linux
  • 华为方舟编译器开源项目编译第四弹——自带Java测试用例的编译

    在编译Java测试用例时的错误提示信息 javac option bootclasspath not allowed with target 1 9 Usage javac
  • 计算机硬件基础——第五章:指令系统(二)

    文章目录 指令 要求计算机执行特定操作的命令 是程序员智慧计算机工作的最小单位 指令系统 一台计算机全部指令的集合 也称为计算机指令集 80X86 CPU的常用指令 逻辑运算指令 用来对字或字节按位进行逻辑运算 逻辑与AND 指令 逻辑或O
  • 计算机网络基础知识(非常详细)从零基础入门到精通,看完这一篇就够了

    目录 一 计算机网络的概念 二 计算机网络的功能 三 计算机网络的组成 1 组成部分 2 工作方式 3 功能组成 四 计算机网络的分类 1 按分布范围分 2 按使用者分 3 按交换技术分 4 按拓扑结构分 5 按传输技术分 五 标准化工作
  • WAF识别软件(WAFW00F)以及WAF绕过

    责任声明 本文章仅供学习交流使用 如有利用进行非法行为 上传者不承担任何责任 使用者后果自负 WAF防护分析 什么是WAF Web应用防护系统分为两种 软件与硬件 安全公司内部的为硬件 个人或小企业为软件 无论哪一种都是为web提供安全 存