文章目录

2024网鼎杯青龙组Misc复现

由 晨星运营组 发布

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)

解密得到flag

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")

运行之后扫二维码得到flag


0条评论

发表评论