Misc1
打开流量包,看一下协议分析
发现GtpV2和DIAMETER协议,这两个协议容易泄露地址


配合过滤器分析一下

看看ECGI是什么


用md5加密,得到flag

Misc2

foremost分离

使用zsteg,发现hint

再拖到010里面查看,发现很多7z文件,分离最后一个

保存打开,需要密码
用hashcat爆破,先提取hash值

再爆破

得到密码

打开压缩包


网上找份解密脚本,得到key
# 原始的16进制字符串密钥
magic_key = "7a107ecf29325423"
# 将magic_key的每个字符转换为一个整数列表key_as_ints,其中每个字符都被解释为16进制数字
key_as_ints = list(map(lambda ch: int(ch, 16), magic_key))
# 循环遍历key_as_ints,从0开始,以步长2取值,每次取一个index
for index in range(0, len(key_as_ints), 2):
# 对当前index的值与下一个值做异或运算
key_as_ints[index] ^= key_as_ints[index + 1]
# 循环遍历key_as_ints,从第1个位置开始,对每个值与其前一个值进行异或运算
for index in range(1, len(key_as_ints)):
# 临时存储倒数第二个元素,用于异或操作
temp_value = key_as_ints[len(key_as_ints) - index - 1]
# 对当前index的值与temp_value做异或运算
key_as_ints[len(key_as_ints) - index] ^= temp_value
# 将处理后的整数列表key_as_ints重新转换成16进制字符串,形成新的密钥字符串final_key
final_key = ''.join(format(num, 'x') for num in key_as_ints)
# 计算最终结果,将原始的magic_key和新生成的final_key都转换成整数后做异或操作
final_result = format((int('0x' + magic_key, 16) ^ int('0x' + final_key, 16)), 'x')
# 打印最终结果
print(final_result)
Misc3

根据题目描述,推测应该是传入了木马,关键字搜索uploads
找到/uploads/hacker.php,IP地址出来了

追踪一下

很明显的传码,url解码
分析:用于绕过open_basedir限制、收集系统信息,典型的木马行为。
Misc4
from PIL import Image
from tqdm import tqdm
def peano(n):
if n == 0:
return [[0,0]]
else:
in_lst = peano(n - 1)
lst = in_lst.copy()
px,py = lst[-1]
lst.extend([px - i[0], py + 1 + i[1]] for i in in_lst)
px,py = lst[-1]
lst.extend([px + i[0], py + 1 + i[1]] for i in in_lst)
px,py = lst[-1]
lst.extend([px + 1 + i[0], py - i[1]] for i in in_lst)
px,py = lst[-1]
lst.extend([px - i[0], py - 1 - i[1]] for i in in_lst)
px,py = lst[-1]
lst.extend([px + i[0], py - 1 - i[1]] for i in in_lst)
px,py = lst[-1]
lst.extend([px + 1 + i[0], py + i[1]] for i in in_lst)
px,py = lst[-1]
lst.extend([px - i[0], py + 1 + i[1]] for i in in_lst)
px,py = lst[-1]
lst.extend([px + i[0], py + 1 + i[1]] for i in in_lst)
return lst
order = peano(6)
img = Image.open(r"C:\Users\ASUSROG\Desktop\chal.png")
width, height = img.size
block_width = width # // 3
block_height = height # // 3
new_image = Image.new("RGB", (width, height))
for i, (x, y) in tqdm(enumerate(order)):
# 根据列表顺序获取新的坐标
new_x, new_y = i % width, i // width
# 获取原图像素
pixel = img.getpixel((x, height - 1 - y))
# 在新图像中放置像素
new_image.putpixel((new_x, new_y), pixel)
new_image.save("rearranged_image.jpg")



