2024“源鲁杯“高校网络安全技能大赛-Misc-WP

Round 1

hide_png

题目给了一张图片,flag就在图片上,不过不太明显,写个python脚本处理一下

from PIL import Image
​
# 打开图像并转换为RGB模式
img = Image.open("./attachments.png").convert("RGB")
​
# 获取图像的宽度和高度
w, h = img.size
print(w, h)
​
# 创建一个新的黑色图像,尺寸与原图相同
flag = Image.new("RGB", (w, h), (0, 0, 0))
​
# 遍历原图像的每一个像素
for i in range(w):
    for j in range(h):
        # 获取当前像素的RGB值
        pixel = img.getpixel((i, j))
​
        # 如果该像素接近白色
        if pixel[0] > 230 and pixel[1] > 230 and pixel[2] > 230:
            # 在新图像中设置对应像素为白色
            flag.putpixel((i, j), (255, 255, 255))
​
# 显示处理后的新图像
flag.show()
​
# 将处理后的图像另存为新图像文件
flag.save("flag.png")

读取后得到flag

YLCTF{a27f2d1a-9176-42cf-a2b6-1c87b17b98dc}

plain_crack

题目给了一个加密的压缩包和一个py脚本

crack.zip内容如下

#info:build.py
# -*- coding:utf8 -*-
​
import pyminizip
from hashlib import md5
import os
​
def create(files, zfile):
    password = os.urandom(15)
    password = md5(password).hexdigest()
    pyminizip.compress_multiple(files,[], zfile, password, 0)
    pass
​
if __name__ == '__main__':
    files = ['build.py','flag.docx']
    zfile = 'crack.zip'
    create(files, zfile)

我们将build.py压缩为zip文件,发现其CRC和加密压缩包里面的build.py一样,可以猜测为明文攻击

使用ARCHPR明文攻击破解key后,得到解密后的压缩包crack_decrypted.zip

打开flag.docx发现一个图片,将图片移开后看到一个假的flag

将flag.docx后缀修改,得到flag.zip,解压后在flag\word\media下发现新的图片,得到flag

pngorzip

题目给了一张png图片,我们尝试多种隐写后使用zsteg发现lsb隐写,图片隐藏着zip文件

接着我们使用StegSolve发现lsb隐写,将压缩包导出来

压缩包是被加密的,注释里面有提示,可能是密码的格式

直接进行掩码攻击爆破出key为 114514giao

解压后得到flag

YLCTF{d359d6e4-740a-49cf-83eb-5b0308f09c8c}

whatmusic

hint1 : 这是桑德拉(Thundra)给她女儿唱的歌

hint2 : flag中字母全为大写并且套上YLCTF

题目给了一个password文件和一个加密的flag文件,思路很明了,直接从password文件下手,先放入010查看

疑似是个图片,但是数据顺序不对,是倒着的16进制,写个脚本修正一下

from binascii import unhexlify
​
def reverse_hex_string(hex_string):
    # 将输入的16进制字符串进行切片,获取每个16进制字符
    hex_digits = [hex_string[i:i+2] for i in range(0, len(hex_string), 2)]
    # 将切片后的列表进行倒序排序
    hex_digits.reverse()
    # 拼接倒序排序后的16进制字符列表,并返回结果
    return ''.join(hex_digits)
​
# 测试功能实现
hex_str = "826042AE444E454900000000C178C8AA70014C000FFF5800006C8B00000D91600001B22C00003645800006C8B00000D91600001B22C00003645800006C8B00000D91600001B22C00003645800006C8B00000D91600001B22C00003645800006C8B00000D91600001B22C00003645800006C8B00000D91600001B22C00003645800006C8B00000D91600001B22C00003645800006C8B00000D91600001B22C00003645800006C8B00000D91600001B22C00003645800006C8B00000D91600001B22C00003645800006C8B00000D91600001B22C00003645800006C8B00000D91600001B22C00003645800006C8B00000D91600001B22C00003645800006C8B00000D91600001B22C00003645800006C8B00000D91600001B22C00003645800006C8B00000D91600001B22C00003645800006C8B00000D91600001B22C00003645800006C8B00000D91600001B22C00003645800006C8B00000D91600001B22C00003645800006C8B00000D91600001B22C00003645800006C8B00000D91600001B22C00003645800006C8B00000D91600001B22C00003645800006C8B00000D91600001B22C00003645800006C8B00000D91600001B21CE000129CEEFF35FE000227B657B9CFFC47F2
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值