目录
一、被劫持的神秘礼物
二、刷新过的图片
三、[BTF2020]认真你就输了
四、[BJDCTF2020]藏藏藏
五、被偷走的流量
九、菜刀666
十、秘密文件
十一、[BJDCTF2020]just_a_rar
十二、[BJDCTF2020]鸡你太美
十三、[BJDCTF2020]一叶障目
十四、神奇的二维码
十五、梅花香之苦寒来
十六、[BJDCTF2020]纳尼
十七、穿越时空的思念
十八、[ACTF新生赛2020]outguess
十九、[HBNIS2018]excel破解
二十、[HBNIS2018]来题中等的吧
二十一、谁赢了比赛?
二十二、[SWPU2019]我有一只马里奥
二十三、[WUSTCTF2020]find_me
二十四、[GXYCTF2019]gakki
二十五、[ACTF新生赛2020]base64隐写
二十六、[GUET-CTF2019]KO
二十七、[MRCTF2020]ezmisc
二十八、[SWPU2019]伟大的侦探
二十九、黑客帝国
三十、[MRCTF2020]你能看懂音符吗
三十二、[HBNIS2018]低个头
2.是一个数据包,wireshark打开,筛选http,找到有关登录的数据包,追踪http流
3.根据题目意思账号+密码串一起编码
1.下载文件解压,一开始用了各种分离看十六进制都没有成功,回顾题目意思”刷新”,应该是F5隐写(使用工具F5-steganography):
2.得到一个output.txt文件,打开是一串乱码,但是这个PK告诉我们这是一个压缩包,修改文件后缀名为zip
3.解压文件的过程中需要输入密码,可能是个伪加密,用十六进制打开,查找50 4B 01 02,把后面的01改成00,解压得到flag.txt
1.解压文件打开,有点懵,但是不管那么多,先扔到binwalk分析文件先(binwalk 10.xls)
2.里面有压缩包,分离文件(binwalk -e 10.xls)
3.分离出来之后打开一看挺多文件的,但是我们根据分析文件看到flag.txt路径,找到对应的目录,就可以找到flag
2.用binwalk分离发现不行,用foremost
3.解压里面的zip,得到一个doc文档,里面是一个二维码,扫码就可以得到flag
1.wireshark打开流量包,筛选http流量,发现没有,把流量包从头到尾大概看了一遍,发现了一个ftp
2.筛选ftp协议,发现有一个flag.rar
3.binwalk分离数据包
4.解压文件发现被加密了,一般加密文件都是4位数,不管那么多先爆破一下先
5.得到flag.txt
六、Snake
1.打开文件是一张图片,看属性,看十六进制都没有东西,扔到binwalk分析图片,发现有压缩包,分离文件:
2.得到两个文件,打开key文件很明显是base64加密
3.根据这个提示就是Nicki Minaj关于蛇的歌,应该就是这个anaconda
4.但是还有一个cipher文件,打开是乱码,思路到这里中断了,随后百度上看了一下大佬们的解题方法,原来蛇还有另一个意思serpent,这是一种加密算法
5.然后我们尝试解密(Serpent Encryption – Easily encrypt or decrypt strings or files)
七、[GXYCTF2019]佛系青年
1.下载是一个压缩文件,解压要密码,可能是个伪加密,把09改成00
2.直接解压得到两个文件
打开fo.txt,解密:
八、[BJDCTF2020]你猜我是个啥
1.下载文件是个zip,但是解压的时候提示损坏了,结合题目意思,应该不是zip,十六进制打开,看头是一个png文件
2.修改后缀名,打开图片是一个二维码,扫扫二维码
3.emmmm...扫出来不是flag
4.hex打开图片,看头看尾,找到flag
1.wireshark打开流量包,筛选http,找到上传的相关文件,查看文件内容,就是一个正常传入shell的文件
2.刚开始的第一想法就是菜刀连接,是我想的太天真了.......;重新看数据包,过滤所有的post请求的数据包,看到一个有长一点的数据包:
3.查看那个数据包,追踪流,发现有两个传参的点z1和z2
z1的解密内容:
z2是一个十六进制的数据,不能直接转换为图片
写一个简单的脚本转换
运行
4.查看数据包,发现flag.txt隐藏在流量包里面
5.使用binwalk分离
6.解压文件的时候需要输入密码,猜测16进制转换出来的图片里面的就是密码,得到flag
1.wireshark打开数据包,筛选ftp流,发现一个rar文件
2.用binwalk分离文件
3.分离的压缩包需要密码,在数据包里面找了一波没有找到,直接爆破,一般为4~6位纯数字
1.根据题意直接爆破,解压得到一张图片
2.查看图片属性得到flag
1.hex模式打开两个图片,对比图片,发现副本的文件的文件头缺失
2.右键->编辑->粘贴0字节
3.增加之后修改文件头为47494638
4.查看图片得到flag
5.提交flag的时候竟然错误,emmm...看了一下其它大佬的博客发现,是_不是-
1.打开图片,是一张分辨率不清的图片,按照常规看属性、十六进制、binwalk分析文件,Stegsolve查看都没有发现东西,然后网上看了一下大佬们的思路,好像有两个解决方法:
方法一:手动修改宽度(不推荐,有点盲猜的感觉,但是经验丰富可能一眼看出来)
方法二:脚本(在网上找了一个老大写的关于png修复CRC错误的脚本)
#coding=utf-8
import zlib
import struct
#读文件
file = '1.png' #注意,1.png图片要和脚本在同一个文件夹下哦~
fr = open(file,'rb').read()
data = bytearray(fr[12:29])
crc32key = eval(str(fr[29:33]).replace('\\x','').replace("b'",'0x').replace("'",''))
#crc32key = 0xCBD6DF8A #补上0x,copy hex value
#data = bytearray(b'\x49\x48\x44\x52\x00\x00\x01\xF4\x00\x00\x01\xF1\x08\x06\x00\x00\x00') #hex下copy grep hex
n = 4095 #理论上0xffffffff,但考虑到屏幕实际,0x0fff就差不多了
for w in range(n):#高和宽一起爆破
width = bytearray(struct.pack('>i', w))#q为8字节,i为4字节,h为2字节
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]
#print(data)
crc32result = zlib.crc32(data)
if crc32result == crc32key:
print(width,height)
#写文件
newpic = bytearray(fr)
for x in range(4):
newpic[x+16] = width[x]
newpic[x+20] = height[x]
fw = open(file+'.png','wb')#保存副本
fw.write(newpic)
fw.close
1.解压文件是一个二维码,十六进制打开,在文件的末尾看到一个good.mp3
2.binwalk分离图片,得到几个压缩包,encode.txt里面是一串base64,解码得到
3.解压出来之后是一张这样的图片,基本的步骤看属性,十六进制,分析文件都没有东西
4.18394.rar里面还有一个mp3的音频,但是需要密码,输入encode.txt解密出来的内容(密码错误),还有一个flag.docx文件,打开是经过多次加密的base64加密的内容(有可能是音频文件里面的密码)
用脚本解密(不嫌弃麻烦的可以手动)最后得到这个comEON_YOuAreSOSoS0great
5.解压出音频之后扔到audacity里面,是摩斯密码
--/---/.-./.../ ./../.../...-/./.-./-.--/...-/./.-./-.--/./.-/.../-.--/
尝试提交flag{morseisveryveryeasy}成功(要小写的字母)
1.十六进制打开图片,发现一大串的数字
2.把数字提取出来,写脚本十六进制转ascii
3.提取出来的坐标还需要去掉(,)
4.使用gnuplot工具生成坐标二维码,扫码就得到flag
1.用winhex打开文件,发现文件头缺失
2.右键->编辑->粘贴0字节
就会变成这样
3.增加之后修改文件头为47494638
4.修改完成之后,保存,打开图片,得到几个跳动的图片,尝试把他们分帧,得到一串base64
5.拼接起来Q1RGe3dhbmdfYmFvX3FpYW5nX2lzX3NhZH0=解码
1.用au打开,可能是摩斯密码
2.把里面的音频内容读取出来,解码
..-./-----/..---/----./-.../-../-..../..-./...../...../.----/.----/...--/----./././-.././-.../---.././....-/...../.-/.----/--.../...../-.../-----/--.../---../-..../
1.解压文件,打开有两个文件
2.进入huhuhu文件夹,打开文件,有一张图片,查看文件属性
3.社会主义核心价值观解码:
4.结合题目这个一个outguess隐写
1.下载下来是一个xls的文件,直接打开需要密码
2.十六进制打开,搜索flag,提交flag,正确!!!
1.下载文件解压,是一张图片,貌似是摩斯密码
.-/.-../.--./..../.-/.-../.-/-.../
2.这个解密出来看起来也不像flag,还以为会有隐藏的文件夹之类的,后面都没有找到什么,就直接提交了这个flag{alphalab}提交正确
1.解压文件看到一张图片,刚开始有点懵,感觉线索在图片里面,但是有点看不懂,不管那么多正常三件套,看属性,看十六进制,binwalk分析图片
2.果然在文件的末尾发现了flag.txt
3.binwalk分离文件,分离出一个zip,但是需要密码
4.密码也不知道在哪,直接爆破,一般为4-6位数字
5.解压之后得到txt和gif也看不出flag在哪里,也是正常的三件套(属性,十六进制,binwalk分析)都没有发现东西,把git分帧看一下,有三百多张图片
6.发现有张空白的,点进去看一下,还以为里面的是flag,提交发现错误了,还是我太天真了,看了一下大佬的思路,到了这一步需要用StegSolve分析图片,得到一个二维码
1.十六进制打开exe文件,发现里面隐藏了一个flag.txt文件
2.运行的时候多了一个1.txt文件,查看1.txt,是ntfs隐写
3.有两种方法得到flag.txt
方法一:命令行
新建文件夹把文件放进去,cmd在当前的目录,输入命令notepad 1.txt:flag.txt:
方法二:工具NtfsStreamsEditor
新建文件夹,把文件放进去,扫描该目录
1.下载下来是一张图片,查看属性,发现了一串盲文
2.把他解码出来⡇⡓⡄⡖⠂⠀⠂⠀⡋⡉⠔⠀⠔⡅⡯⡖⠔⠁⠔⡞⠔⡔⠔⡯⡽⠔⡕⠔⡕⠔⡕⠔⡕⠔⡕⡍=
(文本加密为盲文,可自设密码|文本在线加密解密工具)
2.得到rar压缩包,直接直接爆破
3.得到flag.txt是一串乱码,看了一下老大们的思路,是字频分析,嫖了一下老大的脚本,得到flag
1.一直解压文件,得到一个txt文件,里面有大量的base64,需要用脚本去跑,然后百度上嫖了一下大佬的脚本,得到flag
1.下载一个txt文档,直接brainfuck解码,得到flag
1.下载是一张图片,找了一波都没有找到东西,尝试修改高度,保存得到flag
flag{1ts_vEryyyyyy_ez!}
1.解压,得到一个txt,看不懂是个啥
2.还以为zip是个伪加密,修改发现不正确,百度大佬们的文章,原来这个txt要换成EBCDIC编码,得到密码
3.福尔摩斯小人舞
最后得到:iloveholmesandwllm
1.打开txt文件,文件开头是一个rar的标识头
2.把16进制转换成二进制,脚本转换
3.rar文件是一个加密的文件,直接爆破
4.打开图片,是个损坏文件,十六进制打开文件,看数据头和尾,发现数据尾不对,修改数据头,打开图片得到flag
1.解压rar文件发现是一个损坏的文件,十六进制打开,发现标识头数据不对,正常的是52 61 72 21
2.把数据修改过来,保存解压得到doc文档,在找解密工具的时候,看到很多大佬的解题过程里面的文档是没有那串音符的,但是我这里直接打开可以看到是因为我本身自己设置的显示隐藏文字
如果看不到音符的,可以如下图设置
3.想要复制音符发现不行,如下图,在解密的时候看看=后面有没有多余的字符,记得去掉(文本加密为音乐符号,可自设密码|文本在线加密解密工具)
三十一、[HBNIS2018]caesar
1.根据txt文本的描述是凯撒密码
2.解码,因为不知道偏移量填多少,直接点了枚举,看起来那个带flag的比较像
学习记录过程仅供参考!!!!