杂项签到
是一个压缩包,进入后说密码忘了,先用archpr过了一边
没有结果,用010editor打开看一下代码,发现加密方式错误
在代码的末尾修改成0000得到结果
flag{79ddfa61bda03defa7bfd8d702a656e4}
misc2
软盘文件,用虚拟机进行添加软盘文件
flag{ctfshow}
miscx
密码2020
解开第二个压缩包
进行音符解密
U2FsdGVkX1/eK2855m8HM4cTq8Fquqtm6QDbcUu4F1yQpA==
rabbit加密,麻了
welcome_to_payhelp
可以打开hint
是base64
进行解码
hello 2020!
解开flag
flag{g00d_f0r_y0u}
misc50
mad,今日就这一题吧,放弃了,还就做了一半
下载完题目,是一张图片
能明显看出来两侧有条纹,还以为是有重叠图片,用stegslove看了一下,结果不是
之后用010editor打开看了一下
提示有多余的数据
然后用kali继续
zsteg -a welcome.png分析图片数据
结果发现有多余zip数据
zsteg -E “extradata:0” welcome.png > welcome.zip
分离
、
得到压缩包
Sk5DVlM2Mk1NRjVIU1gyTk1GWEgyQ1E9Cg==
base64解码
KEY{Lazy_Man}
一看大写字母,base32解码
可以用来开下一个flag包,得到thienc文本
文本里3078多次出现,想这应该是0x,需要写个脚本吧3078去掉
至此我彻底不会了,上网上搜wp,哈哈哈哈焯!。。。。。。。
mad,看了wp我tm也不会啊。。。。。。
misc40
按照提示,转到10进制,之后会用
用010打开svega会显示有冗余数据
说明svega藏了点东西
用010打开二维码在文件末尾看到brianfuck加密
是核心价值观加密
得到密码123456
用MP3stego打开svega.mp3
分离出文本
解压出另一个音乐文件
用slienteye打开svega.wav
开头10进制的密码用到了
得到flag{C0ngr4tul4ti0n!}
misc30
下下来是一个压缩包
打开后内容是
先把星空.jpg解压出来
用010editor打开看一下
有exif,打开文件属性
little stars 猜测应该是文档的密码,试一下成功打开
进去后开始是这样的,按下CTRL a后,发现
有多余的文字
调整一下下方文字的颜色
猜测 Hello friend! 是密码,成功
扫描后

flag{welcome_to_ctfshow}
word的隐写方式:
- 在Word中选中要隐藏的字段,右击选择字体选项,在效果一栏中有隐藏选项,选中后即可隐藏。默认情况下隐藏文字是不会被打印出来的。如果想知道是否有隐藏文本,可在文件选项中单击“文件”-》选项-》显示,选择“隐藏文字”复选框,即可查看,下方勾选“打印隐藏文字”即可打印。 或者在保存文件后选择文件-》检查-》检查文件,查看是否有隐藏文字。
- 白色背景下的白字无法被识别出有隐藏的文字 。(16版实测无用,怀疑+1)
- 文档属性摘要属于高级属性不会出现在属性的主视图中。只能在打开自定义的标签后才能看到。
- word中隐藏图片的方式:
P.S.
word中插入的图片分为嵌入式和非嵌入式,区别在:
嵌入的跟着文本的位置产生移动,即有回车后,图片下移。
非嵌入的不会跟着文本走,即有回车后,图片保持原位置不动。
单击“文件”标签,选择“选项”选项打开“Word选项”对话框。在对话框左侧的列表中选择“高 级”选项,在右侧的“显示文档内容”栏中勾选“显示图片框”复选框,单击“确定”按钮关闭对话框后,文档中的嵌入式图片将被隐藏,将只显示图片框的框线。(另存为即可得原图拷贝)
如果要文档中的非嵌入式图片隐藏起来,可以在“显示文档内容”栏中取消对“在屏幕上显示图形和文字”复选框的勾选.单击“确定”按钮关闭对话框后,文档中的非嵌入式图片将被隐藏。(真的给力)
misc3
哎呀哎呀,脑洞也太大了吧,wp
给了一串密文:zse4rfvsdf 6yjmko0,根据提示想想自己的手下面,键盘,发现两串密文分别组成了一个字母:A和V,又提示小写,故flag为
flag{av}
msic40
misc30
爱河.mp3
下载下来是一个压缩包,有密码,没有提示
怀疑是伪加密,010打开查看压缩方式
在最后末尾将 0300 改为 0000,压缩包解压成功
得到一个MP3文件,影流之主的背景音乐 《爱河》
有图片,用foremost分离出来
得到一张影流之主的图片,010打开查看,发现没有什么独特的地方,调整一下高度,出现了
出现了密文,看不懂,网上冲浪一下,猪圈密码
得到flag
flag{well done}
红包题第一弹
下载下来是一共86个压缩包,打开后是一张图片
010打开后发现有base64
每张图片都有
直接上脚本
1 | import os |
flag{gif_is_so_easy}
先天八卦阵
😅彻底蚌埠住了,什么勾八题
压缩包解压后有两个图片,下面的是helloworld.jpg。看这个图片我寻思这是杂项吗,这不是密码?
无所谓了,看开了
一行有22个卦位,一共87个,肯定是每个图片代表一个符号,一共有7个图片重复出现,尝试brianfuck编码,helloworld
+++++ +++++ [->++ +++++ +++<] >++++ .—. +++++ ++..+ ++.++ +++++ +.— —– .+++. —– -.— —– .<
根据排列顺序,可以得到以下规律。

然后我就开始了自己人工翻译的苦逼之路。真是个傻蛋啊,干。
+++++ ++++[ ->+++ +++++ +<]>+ +++++ +++++ +++++ ++.<+ +++[- >++++ <]>+. <+++[ ->— <]>– —.< +++[- ]+++< ]++++ .<+++ [-]– -<]>- -.+++ ++++. +++++ +++.+ +++.< +++++ ++[-> —– –<]> –.<+ +++++ +[->+ +++++ +<]>+ +++++ +++++ ..+++ +++++ +.<++ +++[- >—- -<]>- .<+++ +[->- —<] >-.<+ ++++[ ->— –<]> —-. <++++ ++++[ ->+++ +++++ <]>++ ++.<+ +++[- >—- <]>– —-. —– -.<++ ++++[ ->— —<] >–.+ .<+++ ++++[ ->+++ ++++< ]>+++ +++++ +++++ .<+++ +++++ +[->- —– —<] >.<++ +++++ ++[-> +++++ ++++< ]>+++ +++++ ++.<
😅
from PIL import Image
import math
``
# 生成阳爻
yang = Image.new('RGB', (48, 10), (0, 0, 0))
``
# 生成阴爻
yin = Image.new('RGB', (48, 10), (0, 0, 0))
tmp = Image.new('RGB', (12, 10), (255, 255, 255))
yin.paste(tmp, (18, 0))
``
# 生成八卦
def bagua(int):
if 0 <= int <= 7:
s = str(bin(int))[2:].zfill(3)
img = Image.new('RGB', (64, 64), (0, 0, 0))
box = Image.new('RGB', (63, 63), (255, 255, 255))
img.paste(box, (0, 0))
for i in range(3):
if s[2-i] == '0':
img.paste(yang, (8, 7 + i * 20))
elif s[2-i] == '1':
img.paste(yin, (8, 7 + i * 20))
return(img)
``
dic = {}
for i in range(8):
dic['><+-.,[]'[i]] = i
``
def baguafuck(code, width, path):
code = code.replace(' ', '').replace('\n', '').replace('\r', '')
l = len(code)
height = math.ceil(l / width)
img = Image.new('RGB', (width * 64, height * 64), (255, 255, 255))
for i in range(l):
x = (i % width) * 64
y = (i // width) * 64
img.paste(bagua(dic]), (x, y))
img.save(path)
``
path = 'C:/Users/Administrator/Desktop/8guafuck/'
hw = '++++++++++[->++++++++++<]>++++.---.+++++++..+++.++++++++.--------.+++.------.--------.<'
flag = '+++++++++[->+++++++++<]>++++++++++++++++++.<++++[->++++<]>+.<+++[->---<]>-----.<+++[->+++<]>++++.<+++[->---<]>--.+++++++.++++++++.++++.<+++++++[->-------<]>--.<++++[->----<]>----.<+++++++[->+++++++<]>+++++++++++..+++++++++.<+++++[->-----<]>-.<++++[->----<]>-.<+++++[->-----<]>----.<++++++++[->++++++++<]>++++.<++++[->----<]>------.------.<++++++[->------<]>--.+.<+++++++[->+++++++<]>+++++++++++++.<+++++++++[->---------<]>.<+++++++++[->+++++++++<]>+++++++++++.<'
``
baguafuck(hw, 22, path + 'helloworld.png')
baguafuck(flag, 22, path + 'flag.png')
from PIL import Image
``
def baguafuck_decode(path):
img = Image.open(path)
w, h = img.size
``
dic = '><+-.,[]'
code = ''
``
for y in range(0, h, 64):
for x in range(0, w, 64):
check = img.getpixel((x + 8, y + 7))
tmp = ''
if check == (0, 0, 0):
for k in range(3):
p = img.getpixel((x + 26, y + 47 - 20 * k))
if p == (0, 0, 0):
tmp += '0'
elif p == (255, 255, 255):
tmp += '1'
code += dic[int(tmp, 2)]
``
print(code)
``
path = 'C:/Users/Administrator/Desktop/8guafuck/'
``
baguafuck_decode(path + 'helloworld.png')
baguafuck_decode(path + 'flag.png')
的确这个方便,还是自己脑子局限自己,淦😅。
听说你很喜欢爆破
起手上来就现一个压缩包
名字为guess
打开后是一张图片 guess.jpg
估计是outguess隐写
但我感觉用steghide也行
没时间去试了(懒波🤯
压缩包的下面有提示
你能猜到这8位日期数字吗?
一看是炸弹人寻思是英雄上线时间哈哈哈
后来才知道是炸药之父诺贝尔的忌日
18961210 淦
这里是直接上outguess的脚本
哈哈笑死我了
自己跟着脚本抄都抄错了捏呜呜呜
最后爆出来点东西
只有几个文本能看
在其中一个找到链接
把s改为i能进到下载的地方
下载下来
是无效的
010走一遍,结合名字是由于crc 不符合的原因
用原crc的值爆一下图片的原宽高
最后得到下面的MD5值原网址爆破
完蛋了,涉及到知识盲区了
好像是可以用hashcat去爆破
看别人是用的hashlib模块去解的
最后又是一个压缩包
淦
套娃是吧
提示4num
PNG隐写入门赛
One PieNG 1
文件名就是flag
One PieNG 2
图片里的文字就是flag
d64fc33636dda50babdde6b775d8cf10
One PieNG3
8b8bc8c6aa81e7b955660fba3575af63
这题需要去用脚本爆破宽高了
脚本:
import zlib
import struct
filename = “#St4rt_fr0m_th1s_5tr1ng#.png”
with open(filename, ‘rb’) as f:
all_b = f.read()
data = bytearray(all_b[12:29])
n = 4095
for w in range(n):
width = bytearray(struct.pack(‘>i’, w))
for h in range(n):
height = bytearray(struct.pack(‘>i’, h))
for x in range(4):
data[x+4] = width[x]
data[x+8] = height[x]
crc32result = zlib.crc32(data)
#替换成图片的crc
if crc32result == 0xAB212A35:
print(“宽为:”, end = ‘’)
print(width, end = ‘ ‘)
print(int.from_bytes(width, byteorder=’big’))
print(“高为:”, end = ‘’)
print(height, end = ‘ ‘)
print(int.from_bytes(height, byteorder=’big’))
正确的高度是1463,010修改后得到flag
One PieNG 5
用stegsolve打开 跳到bule plane 0,其他几个也能看到
One PieNG 10
cec1969402261bd550f1b3d0c0ccc655
查看exif信息
用010也能够看到flag
One PieNG 13
23e4464f1b458a062fb13e155a72f999
010找一下
One PieNG 15
ad9d95f270d91aed3ba2203487bf01cd
#IDAT_i5_a_z1ib_p4cka9e#
One PieNG 17
170cee5e9bd6dd81021d8533490a4b8b
010 打开找找 在png文件尾之后又有新的数据
正如其言 16进制编译器的确很有帮助
One PieNG 18
5f6b859726bd17bd5fb4905c4420b269
foremost 分离出来两个图片
baby杯
漂亮的小姐姐
打开后是这样的
用010 打开后显示crc错误
估计是长宽高有问题
用宽高爆破脚本
但是把高调到600以上都能看见
故此
flag出来啦
flag{BF9FE48F92A9AB8948F5E266E7CE8EB4}
BJDCTF2020
鸡你太美
打开压缩包是俩gif动图
第一个能看,是kunkun打篮球的
第二个不行
先直接010打看看
无有东西
用stegsolve分了八个图
至此一无所获
用010打开第二个gif图
第二个无法查看
最后对比,第二个缺少gif的文件头
找到了捏,好截图嘿嘿嘿
我鸡哥的美貌,略略略