基于HTTP协议的WAF绕过

一,畸形包绕过

1.先关闭burpsuite长度更新,为get请求,先使用bp的method转换为POST请求

2.get请求中空格使用%20代替,Connection改为keep-alive

二,分块传输绕过waf

1.先在数据包中添加Transfer-Encoding: chunked

2.数字代表下一列字符所占位数,结尾需要两个回车

 三,协议覆盖waf绕过

1.首先将数据包转换为文件上传包格式,使用bp工具change body encoding

2.删除多余空格

3.添加参数filename,filename =1.jpg,等于号前需要加个空格

4.加单引号绕过

5.边界混淆绕过

 四,常见的waf绕过技巧,空格转义,超长字符溢出绕过等

 五,组合绕过waf

1.分块抓输加文件包协议覆盖

2.Content-type编码绕过

3.http头格式绕过

回车加空格

混乱特殊字符绕过

只能位于chunked字符之前加入字符

加入双;号

原文地址:https://www.cnblogs.com/SCHAOGES/p/11962067.html

时间: 2024-07-31 16:43:16

基于HTTP协议的WAF绕过的相关文章

web渗透测试中WAF绕过讲解(二)基于HTTP协议绕过

0x01 前言 在讲本课的内容之前我们先来了解互联网中的HTTP是什么?        超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法.1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基.Ted Nelson组织协

从偶然的机会发现一个mysql特性到wooyun waf绕过题

MayIKissYou | 2015-06-19 12:00 最近在测试的时候,偶然的机会发现了一个mysql的特性, 为啥是偶然的机会呢..... 一次测试的过程中我在mysql的console下做了如下的操作: 看出些什么了么? 我当时发现报错的时候例如-+{等符号 报错的时候提示的是''(双引号里没东西),但是如select后面添加1 a等内容的时候报的是 selecta,select1等等. 想到共性了么,-+{等等内容是能够直接添加到select后面的,知其那那个sql总结的帖子里有,

16. 再说 WAF 绕过

1,大小写混排 这可以算最容易想到的方式了.大小写绕过用于只针对小写或大写的关键字匹配技术,正则表达式 /express/i 大小写不敏感即无法绕过,这是最简单的绕过技术. 举例: z.com/index.php?page_id=-15 uNIoN sELecT 1,2,3,4 减少漏报方法:对每个关键字或每种情况都做大小写转换的处理. 2,替换关键字 这种情况下大小写转化无法绕过,而且正则表达式会替换或删除 select.union 这些关键字,如果只匹配一次就很容易绕过. 举例: z.com

各种WAF绕过手法学习

原文:https://mp.weixin.qq.com/s/aeRi1lRnKcs_N2JLcZZ0Gg 0X00    Fuzz/爆破 fuzz字典 1.Seclists/Fuzzing https://github.com/danielmiessler/SecLists/tree/master/Fuzzing 2.Fuzz-DB/Attack https://github.com/fuzzdb-project/fuzzdb/tree/master/attack 3.Other Payload

基于TCP协议之——socket编程

一. 套接字(socket) socket英文为插座的意思,也就是为用户提供了一个接入某个链路的接口.而在计算机网络中,一个IP地址标识唯一一台主机,而一个端口号标识着主机中唯一一个应用进程,因此"IP+端口号"就可以称之为socket. 两个主机的进程之间要通信,就可以各自建立一个socket,其实可以看做各自提供出来一个"插座",然后通过连接上"插座"的两头也就是由这两个socket组成的socket pair就标识唯一一个连接,以此来表示网

第13章 TCP编程(3)_基于自定义协议的多进程模型

5. 自定义协议编程 (1)自定义协议:MSG //自定义的协议(TLV:Type length Value) typedef struct{ //协议头部 char head[10];//TLV中的T unsigned int checkNum; //校验码 unsigned int cbSizeContent; //协议体的长度 //协议体部 char buff[512]; //数据 }MSG; (2)自定义读写函数 ①extern int write_msg(int sockfd, cha

MySQL基于SSL协议的主从复制

数据对于大部分公司来说都是最重要的部分,而MySQL的服务器在同步数据时,默认是使用明文进行传输,所以接下来就来说说MySQL基于SSL协议进行密文传输数据的主从复制模式. 逻辑拓扑: 接下来的实验中Master节点服务器即使Master节点数据库服务器,同时也是CA. 环境准备: 一.主从服务器时间需要同步: [[email protected] ~]# chronyc sources 210 Number of sources = 1 MS Name/IP address         S

网络编程——基于TCP协议的Socket编程,基于UDP协议的Socket编程

Socket编程 目前较为流行的网络编程模型是客户机/服务器通信模式 客户进程向服务器进程发出要求某种服务的请求,服务器进程响应该请求.如图所示,通常,一个服务器进程会同时为多个客户端进程服务,图中服务器进程B1同时为客户进程A1.A2和B2提供服务. Socket概述 ①   所谓Socket通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过“套接字”向网络发出请求或者应答网络请求. ②   Socket是连接运行在网络上的两个程序间的双向通信的端点. ③  

TwinCAT 3中基于UDP协议通讯的C++实现

因为项目需要,学习了TwinCAT3中使用UDP协议进行通讯的基本知识.这个做个简单的笔记,方便以后查询. 1 概述 倍福为了实现从实时环境中直接访问网卡(network cards)专门提供了一个函数 “TCP/UDP Realtime”, 这个访问要么来自PLC(61131-3), 要么来自C++.这个函数对使用以下协议进行的通讯提供支持: TCP/IP UDP/IP ARP/Ping TC3中使用该函数实现网络通信的示意图如下所示: 不管使用何种协议, 在基于该协议的项目和TC3之间的通讯