羊城杯初赛部分misc
羊城杯初赛部分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

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号,访问一下

那刚才flag2.txt可以用上了,时间就是视频中的秒数所对应的字符,根据后续上的hint 每行时间+1,得到 CAOCAOGAIFAN
拼接得到最终flag:@i_n1a_l0v3S_CAOCAOGAIFAN
Matryoshka
直接foremost能得到两张猫咪图,一眼盲水印,是py2的bwm

出题人该死,那么大个W结果是小写,watermark_is_fun (即密码)
还有个文件是encrypt ,那么就是veracrypt挂载咯(用passware也能检测出来)
挂载后得到的文本依旧有0宽

密钥有了,base32 + 维吉尼亚

程序猿Quby
图片是夏多密码,参考犯罪大师本周解密 夏多密码解析_游戏攻略 (bilibili.com)
解得HAVEANICEDAY
图片尾分离出一个rar,cloacked-pixel拿到rar密码:we1c0met0ycbCTF!!!
python2 lsb.py extract QUBY.png flag.txt HAVEANICEDAY

表格有隐藏行

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

两图拼接,翻转
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.txt和fl4g.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字节的文件头


从vmdk中可以导出key.txt 和 flag.zip,分离一下,可以得到flag.txt和png2txt.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)

解压得到flag
羊城杯初赛部分misc的更多相关文章
- CTF-i春秋网鼎杯第二场misc部分writeup
CTF-i春秋网鼎杯第二场misc部分writeup 套娃 下载下来是六张图片 直接看并没有什么信息 一个一个查看属性 没有找到有用信息 到winhexv里看一下 都是标准的png图片,而且没有fla ...
- CTF-i春秋网鼎杯第一场misc部分writeup
CTF-i春秋网鼎杯第一场misc部分writeup 最近因为工作原因报名了网鼎杯,被虐了几天后方知自己还是太年轻!分享一下自己的解题经验吧 minified 题目: 一张花屏,png的图片,老方法, ...
- 2021羊城杯比赛复现(Crypto)
bigrsa 题目: from Crypto.Util.number import * from flag import * n1 = 10383529640908175186077053551474 ...
- 2021 羊城杯WriteUP
比赛感受 题目质量挺不错的,不知道题目会不会上buu有机会复现一下,躺了个三等奖,发下队伍的wp Team BinX from GZHU web Checkin_Go 源码下载下来发现是go语言写的 ...
- 2018湖湘杯web、misc记录
1.题目名 Code Check 打开题目,右键发现有id参数的url,简单base64解码以后发现不是明文,说明利用了其他的加密方式,那么应该会有具体的加密方式给我们,于是试试常见的文件泄露,可以发 ...
- 羊城杯wp babyre
肝了好久,没爆破出来,就很难受,就差这题没写了,其他三题感觉挺简单的,这题其实也不是很难,我感觉是在考算法. 在输入之前有个smc的函数,先动调,attach上去,ida打开那个关键函数. 代码逻辑还 ...
- 蓝桥杯 历届试题 剪格子(dfs搜索)
历届试题 剪格子 时间限制:1.0s 内存限制:256.0MB 问题描述 如下图所示,3 x 3 的格子中填写了一些整数. +--*--+--+ |* || +--****--+ ||* | ** ...
- [网鼎杯2020]you_raise_me_up
[网鼎杯2020]you_raise_me_up 目录 [网鼎杯2020]you_raise_me_up 题目 分析 解法一:sage discrete_log()使用示例 补充 解法二:python ...
- 自动驾驶轻松开发?华为云ModelArts赋能智慧出行
作为战略新兴产业,人工智能已经开始广泛应用于多个领域.近几年,科技公司.互联网公司等各领域的企业纷纷布局自动驾驶.那么,自动驾驶技术究竟发展得如何了?日前,华为云携手上海交通大学创新中心举办的华为云人 ...
- 本科阶段就挑战自动驾驶开发?华为云ModelArts帮你轻松实现!
欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...
随机推荐
- d3d12龙书阅读----绘制几何体(上) 课后习题
d3d12龙书阅读----绘制几何体(上) 课后习题 练习1 完成相应的顶点结构体的输入-布局对象 typedef struct D3D12_INPUT_ELEMENT_DESC { 一个特定字符串 ...
- 深入解析HashMap源码
HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型.随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入 ...
- redis 使用lua脚本 一次性获取多个hash key 字段值
客户端命令行代码: eval "local rst={};local field='schoolid'; for i,v in pairs(KEYS) do rst[i]=redis.cal ...
- C# wpf 使用GDI+实现截屏
wpf截屏系列第一章 使用GDI+实现截屏(本章)第二章 使用DockPanel制作截屏框第三章 实现截屏框实时截屏第四章 使用ffmpeg命令行实现录屏 文章目录wpf截屏系列前言一.引用Syste ...
- 鸿蒙HarmonyOS实战-Web组件(Cookie及数据存储)
前言 Cookie是一种存储在用户计算机上的小文本文件,用于在用户访问网站时存储和提取信息.它由网站服务器发送到用户的浏览器,并存储在用户的计算机上.每当用户访问该网站时,浏览器将发送该Cookie回 ...
- Qt--点击按钮弹出一个对话框
本文简要说明,如何实现点击按钮弹出一个文本框. 1)首先创建工程,我们就创建一个QMainWindow,不选择UI,就好了. 2)然后再单独创建一个C++类文件,最后得到的工程代码如下: 由于在创建m ...
- Java求两个List集合的交集、并集、差集
在项目中经常会求解集合的交集.并集.差集,这里做个记录.首先创建两个集合list1.list2以及添加元素. List<String> list1 = new ArrayList<& ...
- 关于 CSDN 的恶臭嘴脸
我有段时间确实希望通过 CSDN 增加我文章的阅读量.但是我怎么使用 CSDN,我想要的大概也就 cnblogs 相对符合预期,CSDN 真是垃圾. 为了钱真是什么都不要了,让我们这种没有自主经济来源 ...
- 国产大模型参加高考,同写2024年高考作文,及格分(通义千问、Kimi、智谱清言、Gemini Advanced、Claude-3-Sonnet、GPT-4o)
大家好,我是章北海 今天高考,上午的语文结束,市面上又要来一场大模型参考的文章了. 我也凑凑热闹,让通义千问.Kimi.智谱清言一起来写一下高考作文. 公平起见,不加任何其他prompt,直接把题目甩 ...
- LeetCode 208. Implement Trie (Prefix Tree) 实现 Trie (前缀树)(C++/Java)
题目: Implement a trie with insert, search, and startsWith methods. Example: Trie trie = new Trie(); t ...