权限控制WAF绕过之木马混淆免杀

news/2024/5/1 0:17:42/文章来源:https://blog.csdn.net/m0_61506558/article/details/127140165

目录

前言:

绕过思路:

(一)变量覆盖

(二)加密混杂

未加密前:

接口加密

加密后:

WAF验证:

(三)异或生成

0x01 原理:

0x02 适用范围

(四)常用工具

1、冰蝎 


前言:

        当我们把有侵入性的代码写进去时,通过指纹信息,从而招到WAF的拦截,为了获取对方的控制权,通常会采取使用代码木马执行,使用shell工具连接,但是往往注入代码会被waf拦截,无法注入也就无法获取shell连接,就算绕过代码检测之后,执行的行为也可能被waf设备拦截,导致无法执行shell操作,下面从代码的注入绕过,与代码注入后执行操作绕过总方法,下面总结几种最新的绕过姿势。

绕过思路:

一些应用防护设备会对上传的文件进行静态或者动态的查杀,静态主要是基于安全软件的特征库去匹配文件中的关键词,危险函数,变量等;动态主要是对变量的追踪,执行过程中的一些危险操作的监控。如果要避免被查杀就要考虑上传过程以及通信过程均不能被发现。上传考虑绕过,通信考虑加密。
我们将getshell分为2个大块:

  1. 木马先突破拦截上传到服务器;
  2. 木马要能够被解析执行。

其实两点都相辅相成,只是做一个大概的区分。
针对第一点,网上有很多教程多尝试。这里记录几个绕过:
1.数据溢出绕过:即在数据包“filename”之前填充大量的垃圾数据从而绕过waf。
2.改变符号:filename后面参数前后引号去掉试试,或者换成单引号,有意想不到的效果。
3.换行执行:filename后面参数一个字母一行。
针对第二点,需结合第一点的绕过方式看怎么能够执行,或结合文件包含,或配合解析漏洞。

(一)变量覆盖


我们就以<?php assert($_POST['xiaowei']); ?>为例,禁止使用简单的变量传递,大多数waf具有变量追踪,必需要引入变量覆盖传递参数。

<?php 
$a=$_GET('x');
$$a=$_GET('y');
$b($_POST('xiaowei'));
?>

? x=b&y=assert//?x=b&y=assert
//$a = b
//$$a ->$b 变量引用
//$b= assert
//$b($_POST['z']);--->assert($_POST['xiaowei'])

这样我们就成功的进行绕过,有的时候会在$_POST前面进行加密处理。比如说Base64_decode,如果我们拿蚁剑连接的话,就需要对应的解码设置。

(二)加密混杂


基于关键字的匹配过滤规则,上传一个附带对应的解密方法,然后上传经过对应加密的执行语句

GitHub - djunny/enphp: a Open Source PHP Code Confusion + Encryption Project

中国蚁剑自带加密功能,在线也有加密工具会员注册|php源码加密|www.PhpJiaMi.com

未加密前:



接口加密


加密后:



WAF验证:


(三)异或生成


0x01 原理:

定义:两个值相同时,返回false,否则返回true

XOR有一个特点:如果对一个值连续做两次 XOR,会返回这个值本身。

0x02 适用范围

最适合用于简易加解密运算

原理是:数A和数B进行异或运算生成数C,如果将C和B进行异或运算则C又会还原为A

异或运算加密/解密 - 一个工具箱 - 好用的在线工具都在这里!

有的时候要用到后门免杀的脚本,在github上可以找到,不过建议自己造轮子。

(四)常用工具


1、冰蝎 

可以联通msf,支持双向加密,即发送到服务器的时候已经进行加密,返回到客户端也进行加密

 

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

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

相关文章

线段树什么的最讨厌了

发现如果正着从一颗线段树搜到这一个区间,很难搜。所以考虑从一个区间搜出一颗线段树。 对于一个区间 \([l,r]\),他的父亲区间只可能是 \([2*l-r-2,r],[2*l-r-1,r],[l,2*r-l],[l,2*r-l-1]\) 四种情况。 发现无论往哪一种方向走,\(\frac{l}{r-l+1}\) 的值都会除以2.那么这么做…

建立对单片机/嵌入式启动、运行的整体认知

文章目录一、51单片机的启动过程二、STM32的完整启动流程分析1. 根据boot引脚决定三种启动模式2. 启动后bootloader做了什么&#xff1f;3. bootloader中对内存的搬移和初始化4. ISP、IAP、ICP三种烧录方式5. 参考资料从上电到启动&#xff0c;一文读懂STM32启动全流程1、直接上…

m基于FPGA的cordic算法实现,输出sin和cos波形(包括仿真录像)

目录 1.源码获取方式 2.算法描述 3.部分程序 4.部分仿真图预览 1.源码获取方式 使用版本matlab2022a 获取方式1&#xff1a; 点击下载链接&#xff08;解压密码C123456&#xff09;&#xff1a; m基于FPGA的cordic算法实现,输出sin和cos波形 获取方式2&#xff1a; 如…

程序员的数学课21 神经网络与深度学习:计算机是如何理解图像、文本和语音的?

在上一讲的最后&#xff0c;我们提到过“浅层模型”和“深层模型”。其实&#xff0c;人工智能的早期并没有“浅层模型”的概念&#xff0c;浅层模型是深度学习出现之后&#xff0c;与之对应而形成的概念。在浅层模型向深层模型转变的过程中&#xff0c;神经网络算法无疑是个催…

Vue2 生命周期

Vue 生命周期 概述在使用 Vue 时,我们需要执行一些 JS 代码。比如我们需要在页面中添加一个定时器来固定间隔更新时间。这时我们可能会想到直接在,Vue 实例外书写 JS 代码。这种方法能完成操作,但是 Vue 并不建议这样写。Vue 建议尽量在 Vue 实例中完成所有的操作。这时我们…

Hadoop3.X安装教程(Ubuntu)

前提:一台纯净的Ubuntu机器(虚拟机安装教程略) ctrl + alt + T 打开bash,全程使用bash指令进行,以hadoop 和 java 8为例 首先换源进入root账户 sudo su -升级软件列表 apt-get update安装vim apt install vim中途询问直接输入Y确认下载hadoop和java 创建/data mkdir /data…

半导体中的缺陷和位错能级

点缺陷&#xff1a; 在一定的温度下&#xff0c;组成晶体的格点原子在平衡位置附近做振动&#xff0c;这些振动就会有强有弱&#xff0c;这样会使得一部分原子可以获得足够的能量&#xff0c;而挣脱周围电子对它的束缚&#xff0c;挤入间隙位置&#xff0c;这样的结果就形成了…

211西北大学,计算机、软件学硕和专硕专业课都变难了!

西北大学位于陕西省西安市&#xff0c;是一所211大学。西北大学计算机学科评估B-&#xff0c;软件工程学科评估B&#xff0c;计算机实力在211大学中处于中上游水平&#xff0c;还算不错。西北大学前段时间公布了23考研的招生目录&#xff0c;我们来看一下&#xff1a;西北大学2…

Unity的UI框架

UI框架 UI框架的含义 含义&#xff1a;UI框架用于管理场景中所有的面板&#xff0c;负责控制面板之间的跳转 UI框架的意义 1、随着游戏系统的复杂化&#xff0c;UI控件越来越多&#xff0c;各个UI之间的直接通讯&#xff0c;已经UI与GameObject之间的关系会越来越复杂 2、代…

盘点一个Python自动化办公的实战案例

点击上方“Python共享之家”&#xff0c;进行关注回复“资源”即可获赠Python学习资料今日鸡汤岭猿同旦暮&#xff0c;江柳共风烟。大家好&#xff0c;我是皮皮。 一、前言前几天在Python钻石交流群【Hxy任我肥】问了一个Python自动化办公的问题&#xff0c;提问截图如下&am…

基于Vue+SSM+SpringCloudAlibaba的英雄管理系统

需求 前端技术&#xff1a;element-ui、vue后端技术&#xff1a;spring boot、spring cloud、mybatis plus、jwt项目要求&#xff1a; 前端&#xff1a;exam-war-fore-1217后端&#xff1a;exam-war-parent-1217端口要求&#xff1a; 注册中心&#xff1a;10086、10087 &#x…

福特、微软、槟榔-《软件方法》自测题解析019

DDD领域驱动设计批评文集>> 《软件方法》强化自测题集>> 《软件方法》各章合集>> 《软件方法》第2章自测题2 1 [单选题] 1999年11月的《财富》杂志题为“20世纪企业家”的文章&#xff0c;评选出了最能代表20世纪企业家精神的企业家─福特汽车的Henry F…

云原生|kubernetes|ingress-nginx插件部署以及简单的应用

前言&#xff1a; ingress直译&#xff1a;进口&#xff1b;入口&#xff1b;初切&#xff1b;进入&#xff1b;进入资格&#xff1b;进入权。在kubernetes中&#xff0c;它指的是网络入口。 ingress概述&#xff1a; 通俗来讲&#xff0c;Ingress和之前提到的Service、Depl…

Redis面试汇总笔记

在两个月前的学习中&#xff0c;我看过一个redis相关的讲解视频&#xff0c;是一个叫诸葛的老师&#xff0c;其中分为几层进行讲述&#xff0c;分别是数据类型、分布式锁、redis常见问题等。当时有记录一些内容&#xff0c;下面将按照顺序进行分享。 &#xff08;一&#xff0…

Cherno的Cpp教程笔记002:C++是如何工作的

include需要找到一个叫iostream的文件&#xff0c;然后将内容拷贝到当前的文件中来 main函数是程序的入口&#xff0c;main中调用了std::cout , main函数不一定需要返回值&#xff0c;当没有返回值时默认返回0 #include是预处理语句&#xff0c;编译器优先处理这些语句&#…

橘子学Mybatis03之代理模式

一、什么是代理模式&#xff0c;为啥需要代理模式 1、问题 在JAVAEE的MVC分层开发中&#xff0c;哪个层级对我们来说最重要&#xff1f; DAO ------> Service --------> ControllerJAVAEE分层开发中&#xff0c;最为重要的是Service层。这个也可以理解&#xff0c;因为S…

Lesson 8 The best and the worst 最好的和最差的

1.原文 2. 参考译文 3. New words and expressions ★competition n. 比赛&#xff0c;竞赛(暗地里的竞争) race n. 比赛&#xff0c;竞赛 car racematch n. 比赛 football matchcontest n. 比赛(更广泛)baby contest 宝宝大赛&#xff1b;beauty contest 选美game : 游戏, 运…

Spring自学日志01-IOC(控制翻转)

目录一、IOC的基本概念和底层原理1.1、什么是IOC?1.1.1、Spring IOC容器1.2、IOC底层原理1.2.1、IOC容器1.2.2、IOC容器装配Bean的方式1.2.3、IOC容器装配Bean的操作1.2.3.1、基于XML1.2.3.2、基于注解1.2.4、IOC容器装配Bean的作用域 一、IOC的基本概念和底层原理 1.1、什么是…

MySQL:索引特性

索引 0. 预备知识 索引是一个“物美价廉”的特性&#xff0c;用来提高数据库的性能。不需要改程序、调SQL、只需要正确的创建索引&#xff0c;查询速度就能提高成百上千倍&#xff0c;但查询速度的提升也带来了插入、更新、删除速度的下降。 0.1 认识磁盘 MySQL对数据进行增…

大数据讲课笔记2.1 初探大数据

文章目录零、学习目标一、导入新课二、新课讲解&#xff08;一&#xff09;什么是大数据&#xff08;二&#xff09;大数据的特征1、数据体量大2、数据类型多3、处理速度快4、价值密度低&#xff08;三&#xff09;研究大数据的意义&#xff08;四&#xff09;拥抱大数据时代1、…