提交这里的flag即可
解压之后用winhex打开
发现一堆09200920
之后把09替换成1
20替换成0
在hex一下就好了
提交的就是十六进制数(我之前还以为这个十六进制数还要怎么转一下 所以一直处在懵逼状态)
开始游戏要先注册
登录后发现是一个贪吃蛇游戏 并且题干里说要攒够500分就可获得flag
一开始思路是逆向工程 然后找flag 但是根据经验(
并且电脑里正好有CE 就使用CE来改分数了
但是发现改了分数之后的flag为乱码…… 于是又搞了一会儿 发现是长度的问题……
首先下载图片后 用editor 010打开发现最后有一串字符串
尝试补全提交之后没有成功
然后题干中说的 这个人很高 可能是要修改图片的高度
于是修改后打开图片 发现另外一串字符串
于是又花了好久去想如何去组合 试了一会儿发现可能是栅栏密码
但是!!但是!!出来的最接近的组合是这样的
这几个提交了都不对 于是自己按照英语的词义改了位置 修改了文本 于是提交成功了(这谁受得住?)……
level1根据提示 暴力破解
破解获得密码
level2的压缩包和第一个压缩包 有相同的文件 CRC32值 一样 可以用明文攻击
level3是伪加密 解开之后有个图片 修改宽度就可以得到flag了
图片最后有个RAR的文件
一开始是用foremost跑了一边发现没出来 然后就自己粘贴复制把rar提出来了
得到一个txt
看到是一个5x5的数组就想到了波利比奥斯方阵密码
但是试了一下发现并不对
得到
juijoldugjtfbty
凯撒遍历解密得到
ithinkctfiseasy
这题给的提示是真的少
先把科加斯的图片拉去binwalk跑一边 得到一个压缩包
压缩包的txt里有段佛曰……
佛曰:能那栗俱曰皤大夜呐漫侄依佛梵遮等諳顛老訶老諳者耨梵婆真輸故般豆輸俱明皤涅諳得缽跋無俱提至朋缽上實遮侄遮皤心菩呐老皤夷梵諦爍南咒怯心究呐明缽神罰故諳輸勝俱蘇一哆摩恐哆喝哆切切諳阿死哆若有摩缽真若夢姪侄離蒙哆倒是侄薩曰怯耶豆般利皤都若夜俱耨逝訶諳無侄悉涅皤波諳耶諳婆罰彌倒諳摩缽智梵闍怯波罰遠地若侄迦梵闍實殿侄依喝梵寫槃醯特三除竟呐滅諳究漫諳一等冥耶侄世地缽提吉羅皤除罰遮咒薩薩梵盡
像是前几年很流行的佛曰加密来着(那时候好多论坛和群里都玩这个来着)
http://www.keyfc.net/bbs/tools/tudoucode.aspx 解密地址
得到一串
e58e8be7bca9e58c85e5af86e7a081e4b8ba7061737331323321212121
一开始没啥思路 试了很久
最后发现 把他们加上%然后urldecode解码就好了
%e5%8e%8b%e7%bc%a9%e5%8c%85%e5%af%86%e7%a0%81%e4%b8%ba%70%61%73%73%31%32%33%21%21%21%21
得到压缩包密码为 pass123!!!!
然后另外一个压缩包输入密码进去之后 会有一堆压缩包
最后到一个虚空.zip的压缩包 是一个伪加密
里边有个txt是base64
转码后得到一个urldecode
再转得到
公正公正公正友善公正公正屏蔽的关键字公正法治法治诚信屏蔽的关键字自由友善公正公正敬业公正法治公正爱国法治自由平等友善敬业公正友善敬业公正公正平等友善敬业公正爱国公正友善敬业法治富强公正平等法治友善法治
有两个屏蔽的关键字
去试了一下flag{
发现前面内容和解码得到的一样 所以猜测这两个被屏蔽的就是民主了
填进去再转码就得到flag了
首先把flag.bmp放在winhex
发现下边有好多类似于 0 0 255 255 255这样的数值
猜测是 坐标和RGB的值
我们把这个数值复制一下放到一个txt里
然后可以利用python来画图
代码:
from PIL import Image
x = 173 #x坐标 通过对txt里的行数进行整数分解
y = 173 #y坐标 x*y = 行数
im = Image.new("RGB",(x,y))#创建图片
file = open('画图.txt') #打开rbg值文件
#通过一个个rgb点生成图片
for i in range(0,30000):
line = file.readline()#获取一行
rgb = line.split(" ")#分离rgb
try:
im.putpixel((int(rgb[0]),int(rgb[1])),(int(rgb[2]),int(rgb[3]),int(rgb[4])))#rgb转化为像素
except:
im.show()
break
代码是直接拿这个博主的代码改的
https://www.cnblogs.com/webFuckeeeer/p/4536776.html
压缩包里的图片 看crc32值 发现就一个不一样
所以就在这里边找
最后找着找着 发现改一下高度就行了
(一开始改的比较小还没看到来着 之后想着下边没有出现黑色 就又试着改大了一点)
下过来图片里边有个压缩包 分离之后发现两张图片一样
题目是Blind猜测是盲水印加密
于是用脚本decode即可
python2 decode.py --original blind.png --image blind_blind.png --result result.png
结果
github地址:
https://github.com/linyacool/blind-watermark
https://github.com/chishaxie/BlindWaterMark
两种加密方式不同 解不出来用另外一个试试
拿到的题目到手是一个压缩包
题干中给的提示有tips:five-digit
于是猜测是5位数字
下一个压缩包内有和已经破解出来的压缩包一样的文件 于是又用到明文破解了
但是这里可能会出个问题 把之前的Readme.txt压缩之后开始明文攻击的时候可能会出现这里的提示
这里尝试了好久也 找了许多资料 发现是压缩算法的问题 我这个压缩的算法和作者压缩的算法不一样
所以没办法破解 于是换了个算法 再次尝试
破解成功
得到张图片
首先在winHex查看 最后有组base64
解出来是flag{Th1s_1s_fakef1ag} 这是个假flag 先尝试一下能不能提交……
于是又试了其他的方法 发现改了高度之后就OK了
得到flag~
下载下来之后是一段音频 用gold wave 打开
猜测可能是摩斯代码
得到flag
下过来一共三题
第一题跑一边字典
密码为password
里边文本先转base64 在urldecode
XHU2Nlx1NmNcdTYxXHU2N1x1N2JcdTY4XHU2MVx1NjNcdTZiXHU2NVx1NzI=
得到:flag{hacker
第二题跑一边foremost
发现有个zip
先跑一边 short ook!
https://www.splitbrain.org/services/ook
得到 3oD54e
再跑一边base58(这谁想得到??)
http://ctf.ssleye.com/base58w.html
得到 misc
第三题不能直接用手机扫出来
这里用这个网站扫 可以扫出来
https://online-barcode-reader.inliteresearch.com/
得到12580}
三个一起提交就行了
一开始没什么思路 还以为是要转码什么的
想了半天没啥思路 就想着是不是里边藏了什么关键字
就自己写了个脚本查
for i in range(1,501):
with open(str(i)+'.txt',"r") as f:
str1 = f.read()
if 'key{' in str1:
print(i)
试了flag、ctf、key之后 再到txt里看了一下 就找到flag了
下载过来是一个doc文件 打开出现这样的页面
于是放到winhex看一眼
PK字样 应该是个压缩包 改后缀名打开
在里边的一个文件夹里找到flag.zip
这个压缩包是有密码的 里边有给出提示弱口令 于是就拿去字典跑一下 得到密码是password
打开me}.txt 发现是一堆十六进制字符
先拿到去转换一下 看到了PNG的文件头
所以放到WinHex变成图片
打开图片 发现是一片空白 试了好久 发现放到stegsolve里有反应
结合 之前压缩包里的文件名
猜测flag 可能为flag{seeme}
提交之后成功了……
打开encrypt文件 发现zip的压缩包是用时间戳加密的
查一下 现在的时间戳大概是155xxxxxxx
爆破一下 就可以出来了
压缩包里有个flag.vmdk文件
去搜了一下好像要用虚拟机安装虚拟盘什么的
感觉太麻烦了 就用winhex看了一下 看到里面有zip文件头
就去用foremost-master跑了一下
还真跑出来一个压缩包
下载过来的压缩包有四个文件
其中三个txt 只有六个字节
跑了一遍弱口令 和伪加密 发现都不能
那应该就是要crc32碰撞了
都跑一边 找出有规律的字符串 得到
easy_crc32_6bits
成功解压文件
打开pdf
发现一个二维码
扫描后发现是个假的flag
放进winhex、010editor、一系列操作 都没结果后
于是 我就开始了一波神奇的操作了!
首先 我先
把他转成了DOCX
然后改成ZIP
打开居然找到了两张图片 其中一张是PDF本来就有了 另外一张是这个
用PS修复了一番加了三个点点之后就得到了这个二维码 扫出来就是答案了
打开密码 发现是个图片的base64的值 随便找个地方转换一下就好了
http://www.vgot.net/test/image2base64.php
我用的是这个 注意要把前边的 data:xxx去掉
得到密码是asdfghjkl
然后获得一堆二维码
扫了几个发现 只有数值 0 和 1
应该组成起来是个二进制字符串
当然不可能一个个扫 之后利用两种二维码的图片大小不一样 来区分是0还是1
python脚本:
import os
for i in range(160):
a = os.path.getsize(str(i) + '.png')
if a == 443:
print(0,end='')
else:
print(1,end='')
得到结果:
0110011001101100011000010110011101111011010100010101001001100011011011110110010001100101001100010111001101010101011100110110010101100110011101010110110001111101
这是我做过最tmZZ的隐写题目了
首先 一个压缩包 里边两个有密码的压缩包 没有其他提示 所以先字典跑了一边 然后又去改了一下zip伪加密
发现是伪加密
pwd.zip里是22个txt
第二重大礼.zip里是一个加密的压缩包
大概就是pwd解密出来就是 第二个压缩包的密码了
对比了一下前面两个txt 发现 第一个txt有公正 第二个没有 第二个有诚信 第一个却没有
大概可以猜到了是核心价值观编码http://ctf.ssleye.com/cvencode.html
找到每个txt与其他不同的部分 然后解码就行了
开始写脚本~
list1 = ['富强','民主','文明','和谐','自由','平等','公正','法治','爱国','敬业','诚信','友善']
for i in range(22):
with open(str(i) + '.txt',"r") as f: #设置文件对象
temp = f.read()
temp=temp.replace('民主','',8)
temp=temp.replace('文明','',2)
temp=temp.replace('自由','',1)
for j in list1:
if j in temp:
print(j,end='')
这里要注意一下 原文本里边本来就带有8个民主 2个 文明 1个自由 所以判断的时候 要先用replace去掉
得到内容为:
>>>
RESTART: C:/Users/Administrator/AppData/Local/Programs/Python/Python37-32/春节三重礼.py
公正诚信民主公正平等法治敬业和谐文明和谐友善自由平等诚信平等文明民主法治和谐平等诚信平等
>>>
得到明文:key2:!s
然后就可以打开另外一个压缩包了
最后一个压缩包里边有个打不开的图片
改了文件头之后在打开
然后听题干说有ntfs隐写!!我还特地去试了半天!发现和NTFS没有屁点关系 祝出题人买菜超级加倍
最后发现这个图片要改高度 改完高度之后发现key3
注意!!!!最后一位是1不是l
我转MD5的时候还试了半天!!!!
最后的最后!!还有key1没有找到!!!
于是我又又又!!!找了好久好久!!!
最后又在随便翻的时候 在最开始的压缩包里找到了!!???
base64转一下就好了 得到的是key1
如果把三个key的值加一起 转成md5就是flag了