羊城杯初赛部分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),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...
随机推荐
- 得物 ZooKeeper SLA 也可以 99.99%
1. 背景 ZooKeeper(ZK)是一个诞生于 2007 年的分布式应用程序协调服务.尽管出于一些特殊的历史原因,许多业务场景仍然不得不依赖它.比如,Kafka.任务调度等.特别是在 Flink ...
- 扩展实现Unity协程的完整栈跟踪
现如今Unity中的协程(Coroutine)方案已显得老旧,Unitask等异步方案可以做到异常捕获等yield关键字处理起来很麻烦的问题, 并且Unity官方也在开发一套异步方案,但对于临时加入到 ...
- URP(Universal Render Pipeline)渲染管线在使用中的一些分享
本篇文章整理了URP管线使用中的一些简单的心得记述 1.使用ScriptableRendererFeature自定义渲染特性 在内建(Build-in)管线中可以使用CommandBuffer并添加到 ...
- ChannelInboundHandlerAdapter 类
在 ChannelInboundHandlerAdapter 类中,除了 channelActive 和 channelRead 方法之外,还有其他方法用于处理不同类型的入站事件.以下是这些方法的解释 ...
- Linux搭建ES集群环境
搭建ES集群环境 准备 三台服务器 其中一台为主机节点 ES安装自行上传到各个节点home路径下并解压重命名 集群名称:cluster-big-data同一个集群多个节点,集群名称必须相同,节点名称不 ...
- .net程序员学习java篇一(搭建SSM)
一.安装IDE 相比于.net环境的一气呵成,java可能麻烦一点,这里记录下来,避免萌新踩坑 1.1安装JDK,这里不要玩什么花哨,老老实实选个大众版(Oracle JDK1.8x),设置环境变量, ...
- KPM算法求字符串的最小周期证明
先给出公式 ans = n - LPS[n-1] 其中ans为最小周期,n为给出的由假设的周期字符串中提取出的子串长度,LPS为前缀函数,n-1为字符串最后的位置下标 证明如下 证明ans = n - ...
- go 基数排序
package main import ( "fmt" ) func SelectSortMax(arr []int) int { arrLen := len(arr) if ar ...
- Android 13 - Media框架(15)- OpenMax(三)
关注公众号免费阅读全文,进入音视频开发技术分享群! 上一节学习了 media.codec 服务中的部分内容,这一节我们将一起了解 OMX IL 层的 API 以及相关的结构体等内容. 1.相关路径 以 ...
- 不到200行用Vue实现类似Swiper.js的轮播组件
前言 大家在开发过程中,或多或少都会用到轮播图之类的组件,PC和Mobile上使用 Swiper.js ,小程序上使用swiper组件等. 本文将详细讲解如何用Vue一步步实现的类似Swiper.js ...