首页 > 其他分享 >羊城杯初赛部分misc

羊城杯初赛部分misc

时间:2023-09-26 21:36:23浏览次数:31  
标签:Image pic misc range 初赛 羊城 import img1 txt

羊城杯初赛部分misc

Ez_misc

i春秋刚考过的CVE,win11截图漏洞CVE-2023-21036(acropalypse)

https://github.com/frankthetank-music/Acropalypse-Multi-Tool

看见这个文件结构就可以尝试一下

做完才知道文件尾的zip是有用的..

把zip头的 04 03 改回 03 04 ,根据txt文件名和key是数字猜到是Gronsfeld加密 Gronsfeld Cipher (online tool) | Boxentriq

解出后得到的hint是 截图工具

ai和nia的交响曲

wireshark打开,一键导出HTTP对象

其中flag2.zip是伪加密

0宽隐写,emmm那就先去处理flag1

image-20230907131217248

upload.php上传了名为flag1.png的图片,把它拿出来

黑白杂色图,有点像二维码但扫不出来,读取一下像素点

from PIL import Image	
pic=Image.open('1.png')
weith,height=pic.size
#print(weith,height)
# 400*400
str=''
print(pic.getpixel((0,0)))
for i in range(weith):
    for j in range(height):
        print(pic.getpixel((i,j)))

发现有22种但半黑半白(还是b神的工具看着清楚)

转01

from PIL import Image	
pic=Image.open('1.png')
weith,height=pic.size
#print(weith,height)
# 400*400
str=''
#print(pic.getpixel((0,0)))
for i in range(height):
    for j in range(weith):
        r,g,b = pic.getpixel((i,j))
        if r > 200:
            str+='1'
        else:
            str+='0'
#print(str)
out_file=open('out.txt','w').write(str)

得到HINT:BV1wW4y1R7Jv&&FLAG1:@i_n1a_l0v3S_

一看就是b站的bv号,访问一下

image-20230907130801383

那刚才flag2.txt可以用上了,时间就是视频中的秒数所对应的字符,根据后续上的hint 每行时间+1,得到 CAOCAOGAIFAN

拼接得到最终flag:@i_n1a_l0v3S_CAOCAOGAIFAN

Matryoshka

直接foremost能得到两张猫咪图,一眼盲水印,是py2的bwm

出题人该死,那么大个W结果是小写,watermark_is_fun (即密码)

还有个文件是encrypt ,那么就是veracrypt挂载咯(用passware也能检测出来)

挂载后得到的文本依旧有0宽
‌‌‌‌‍‬‬‌‌‌‌‍‬‌‍image-20230907133121094

密钥有了,base32 + 维吉尼亚

image-20230907133307663

程序猿Quby

图片是夏多密码,参考犯罪大师本周解密 夏多密码解析_游戏攻略 (bilibili.com)

解得HAVEANICEDAY

图片尾分离出一个rar,cloacked-pixel拿到rar密码:we1c0met0ycbCTF!!!

python2 lsb.py extract QUBY.png flag.txt HAVEANICEDAY

image-20230907134947284

表格有隐藏行

image-20230907141113778

展开后全选更改颜色,发现隐藏数据,猜测是转黑白色,即excel转图片

image-20230907141149627

两图拼接,翻转

from PIL import Image
import pandas
s=55
s1=60
e=1023
e1=1028
r=63

img1=Image.new("1",(1050,140))

x1=pandas.read_excel("奇怪的账单1.xlsx")
x1values=x1.values
for i in range(s-2,e-2):
    for j in range(0,r):
        if x1values[i][j]>=5:
            img1.putpixel((i,j),255)
        else:
            img1.putpixel((i,j),0)

x2=pandas.read_excel("奇怪的账单2.xlsx")
x2values=x2.values
for i in range(s1-2,e1-2):
    for j in range(0,r):
        if x2values[i][j]>=5:
            img1.putpixel((i-5,j+63),255)
        else:
            img1.putpixel((i-5,j+63),0)
img1=img1.transpose(Image.FLIP_LEFT_RIGHT)
img1.save('img.png')

得到密码w0wyoudo4goodj0b

尝试DeepSound,解密得到flag.txtfl4g.txt

fl4g.txt中的字符串先base85在base32,得到sQ+3ja02RchXLUFmNSZoYPlr8e/HVqxwfWtd7pnTADK15Evi9kGOMgbuIzyB64CJ

观察发现恰好是64位,从a-z,A-Z,0-9,+,/ 猜测是base换表,flag.txt中的值作为密文

Easy_VMDK

zip有备注,且压缩算法为zipcrypto,直接打一手明文攻击

小明这次使用了32Bytes的随机密码,这次总不会被爆破出来了吧!!
小明压缩了好了题目后,他发现压缩后大小比压缩前还大啊,这不就没有压缩啊,这是为什么啊!

vmdk的文件头都是一样的,伪造12字节的文件头

image-20230907143558511

image-20230907143314203

从vmdk中可以导出key.txtflag.zip,分离一下,可以得到flag.txtpng2txt.py

显然py告诉我们的是key.txt的转换过程,写个还原脚本

import cv2
import base64
import numpy as np

# 读取 key.txt 文件内容
with open("key.txt", "r") as f:
    lines = f.readlines()

# 创建空白图像
img = np.zeros((137, 2494), dtype=np.uint8)

# 还原图像像素值
for y in range(137):
    for x in range(2494):
        # 解码 base64 数据
        encoded_data = lines[y * 2494 + x].strip()
        decoded_data = base64.b85decode(encoded_data.encode())

        # 获取像素值
        pixel_value = int.from_bytes(decoded_data, byteorder='big') % 256

        # 设置图像像素
        img[y, x] = pixel_value

# 保存还原后的图像
cv2.imwrite("restored_key.png", img)

restored_key

解压得到flag

标签:Image,pic,misc,range,初赛,羊城,import,img1,txt
From: https://www.cnblogs.com/Mar10/p/17694162.html

相关文章

  • 羊城杯决赛Misc
    羊城杯决赛Misceasy00aes比赛时没离线0宽环境摆了LmqHmAsk没思路,赛后看着群里各位师傅讨论才明白预期解,wp里直接放toto师傅的脚本了这里放个toto师傅博客:https://blog.csdn.net/jyttttttt?type=blogeasy00aes比赛时没环境,回来狠狠复现图片分离得到压缩包图片名YXNkZHNh是b......
  • Mac故障排查系列:redis删除key报错MISCONF Redis is configured to save RDB snapshots
    背景:Mac下使用AnotherRedisDesktopManager客户端,删除key,遇到报错:MISCONFRedisisconfiguredtosaveRDBsnapshots,butit'scurrentlyunabletopersisttodisk.Commandsthatmaymodifythedatasetaredisabled,becausethisinstanceisconfiguredtoreporte......
  • 2023百度之星初赛第二场
    1.BD202309星际航行(贪心)题目描述:在深邃的宇宙中,星际舰队从地球出发,向未知的星际深渊进发。这支舰队是由最新科技的结晶,由n艘星际飞船组成,每一艘飞船都像一颗璀璨的星辰,静静地驶过宇宙的深渊。飞船的航行是静谧而神秘的,仿佛在宇宙中航行的幽灵,无声无息地穿行在星辰之间。然......
  • 百度之星 2023 初赛第三场
    开场很顺利,一度进了前十《与蝴蝶一起消散吧》一开始没看到每波怪物的血量一样,浪费了一些时间《染色游戏》做了1h,思路很快就有了但想不清楚计数细节。第一次WA了后写了暴力,调过手造的数据后又WA了,然后才写拍。感觉还是得拍,不过计数题也不归我管(一开始以为《魔法阵》是分治......
  • 2023年百度之星初赛第三场
    1.BD202317石碑文(状压dp)在历史的长河中,石碑静静地矗立,风雨侵蚀,岁月沧桑,它们见证了历史的变迁,承载了无数的故事和传说。这些石碑,如同历史的见证者,在它们的表面,残留下的文字,似乎在诉说着那一段段遥远的往事。这些文字,犹如古老的诗篇,是历史与文化的交织,是时间的印记,是古人留给我......
  • 摆渡之心 初赛三 A~F
    A求所有长度为\(n(n\leq10^6)\)且满足条件的小写字母字符串\(S\)。存在至少三个不交的连续子串\(T=\mathbf{shs}\)定义\(f(i,j,k)\)表示对于长度为\(i\)的字符串,满足已经存在\(k\)个连续子串,且最后\(j\)位与,\(T\)的前\(j\)位相同。直接DP即可,考虑该状态......
  • 攻防世界MISC练习题[中等] QR1
    下载附件得到一张空白的图片直接打开放大后发现有很多黑点,观察其的分布位置看起来像是二维码因为全是小黑点的分布也不能直接扫描出来,拿去KALI看一下。虚拟鸡启动!binwalk没内容zstegnothing。现在想起来题目是QR,在想会不会是和二维码有关,决定再去看看图片。放大图片后......
  • csp初赛游记
    Day0(9.15)坐了2场初赛的模拟,觉得应该挺稳得了就去复习复赛了。从最早的S组真题开始做,坐了3年的就去睡觉了。挺稳的指只得80分上下Day1(9.16)虽然不紧张,但任然没睡好4点多就醒了,在床上躺着。到6点就起来了,也不想看书复习就在哪傻坐着。7点出发坐地铁去张江,早上J组基本没啥悬念。......
  • 《2023CSP-S第一轮(初赛)游记》2023.9.16
    菜是原罪从前有个流浪汉,他坐在那池塘旁,在一棵桉树的底下乘凉。他一边遥望一边歌唱,歌声在那池塘边上回荡,快来吧和我一起去流浪。流浪的人啊,流浪的人啊,我们一起走遍海角天涯,他一边遥望一边歌唱,歌声在那池塘边上回荡,快来吧和我一起去流浪。——《WaltzingMatilda》,澳大利亚民......
  • 2023.9.26 CSP-S初赛游记
    2023.9.26CSP-S初赛游记省流:各位的发挥一定很好吧,那就别跟我抢奖励名额了开启流水账模式\(9.15\)嗯,自测一下\(2022\)年的题。好,\(79.5\),稳了,不看了,做题摆烂去了。(一整天一道题都没做)\(9.16\)上午:应该问题不大,考前再看一眼\(Linux\)和十大排序稳定性就行,做题摆烂......