不用看百度百科,把apng看作是一种特殊的gif就行,通过火狐浏览器或者一些在线网址可以查看apng。这里用火狐浏览器打开题目文件,发现是个含有很多二维码帧组成的apng动图。之前遇到gif我们用convert进行了帧的分解,这里apng虽然不能直接通过convert分解但是可以先转换为gif再分解。这里用一个在线工具进行转换。
接着就可以用老办法,通过convert工具把gif的所有帧提取出来,然后再把其中二维码部分提取出来进行扫码。另外这里用qr_research工具扫码的效果可能不太好,很明显其中有一张二维码是歪的,而qr_research这个工具往往只能对完整且正的二维码进行扫码,后续的扫码部分我是用的微信扫一扫。
convert girl.gif flag.png
虽然上面的gif肉眼观察只有三个二维码,但实际分离发现有四个。我们依次对这些二维码扫码。这里直接展示微信扫码结果了。(另外提一下,微信扫码的准度真的很高)
flag-1.png:flag{a3c7e4e5
flag-9.png:-9b9d
flag-17.png:-ad20
flag-25.png:-0327-288a235370ea}
拼在一起:flag{a3c7e4e5-9b9d-ad20-0327-288a235370ea}
类型 | 图片隐写 |
---|---|
工具 | 在线转换工具、convert、微信扫一扫 |
Flag | flag{a3c7e4e5-9b9d-ad20-0327-288a235370ea} |
题目貌似没什么提示(其实有,做完了才发现。。,就是题目的缩写BPG)下载题目,是个png格式的图片,直接放进随波逐流工具,工具发现文件末尾存在额外字符并输出这部分hex字符。
“425047fb”,没见过的文件头,要么是个不常见的文件头,要么是个常见文件头被修改了。把输出的所有末尾hex放进CyberChef并转换为ASCII码,发现开头是BPG。
这个真实知识盲区了,没见过的文件类型,在百度中搜了一下“BPG文件”第一个就是说是某种图像文件。大部分图像之间都是可以互相转换的,这里找到一个BPG转JPG在线工具。(https://ezgif.com/bpg-to-jpg/ezgif-645be980516e72.bpg.html)
转换之前先把CyberChef转换后的输出以bpg格式结尾保存出来,再上传在线工具中,输出结果的图片中有一串base64编码。我们拷贝出来再进行解码,解出来就是答案。
类型 | 图片隐写、字符编码 |
---|---|
工具 | CyberChef、随波逐流工具、在线图片转换工具 |
Flag | flag{BPG_i5_b3tt3r_7h4n_JPG} |
并不easy,应该叫medium misc。下载题目文件,包含了三个文件,分别是一个装满文本文件的文件夹、一个带密码的压缩文件、一张图片。
先看图片。放进随波逐流工具里看一下分析结果,结果显示原图是个灰度图片并且输出了一张修复图,但修复图里什么都没有。
但这里提单灰度图了就想到可能是灰度水印,或者是别的图片通过水印和这张图片通过一些方法合并到了一起比如傅里叶变换。这里用binwalk分离一下,发现分离的输出确实有两个PNG标识。(这里有个报错不用管)
说明前面的猜想是正确的。继续验证,用foremost分离图片,发现分离出两张一样的图,说明就是盲水印。盲水印的原理就是用两次傅里叶变换把两个图片合并在了一起。傅里叶变换不是一两句能讲清楚的,有兴趣的可以在开发者社区的其它文章学习一下。做题的时候只要明白如何判断以及如何用工具得到水印原图就行。
foremost 小姐姐.png
这是盲水印工具地址:(https://github.com/chishaxie/BlindWaterMark),可以收藏一下,后续盲水印的题目都会用到这个工具。
python2和python3的指令由于random算法不同结果会有差异,所以命令上会有些不同:
python2:
python2 bwm.py decode 00000000.png 00000232.png output.png
python3:
python bwmforpy3.py decode .\00000000.png .\00000232.png out2.png --oldseed
得到的水印是“in 11.txt”,这应该是说答案在前面文件夹中的“11.txt”文本中。接着我们详细看文件夹。文件夹内有两个文件需要注意,一个是刚刚的11.txt,一个是末尾的一个hint文件,两个文件内容如下。
hint.txt
hint:取前16个字符
这个11.txt文本文件的内容就是一篇文章,这里应该是说要进行字频统计,然后取高频的前16个字符。我这里用了一个工具,计算得到的前16位高频字母为:“etaonrhisdluygw”。可惜这个并不是答案,继续看加密的压缩文件夹。
(这一步开始这道题就有点小问题,后面无论如何都得不到官方答案,因为这里的统计的结果和官方的不太一样,但我也尝试写代码统计结果也没问题,不太清楚是不是后面题目有更改或者文本本身还需要处理。后面大概讲一下我做的思路,思路是对的)
文件夹末尾有一个计算式,通过计算发现前面的结果是7,可惜“7NNULLULL,”并不是密码,应该是7位数字加上"NNULLNULL,",打开ARCHPR用掩码模式进行爆破。
得到密码后打开其中的文本文件,得到了一串映射字典,应该是需要我们把前面得到的16位字母用这个文本中的映射方式转换为对映字符串。
a = dIW
b = sSD
c = adE
d = jVf
e = QW8
f = SA=
g = jBt
h = 5RE
i = tRQ
j = SPA
k = 8DS
l = XiE
m = S8S
n = MkF
o = T9p
p = PS5
q = E/S
r = -sd
s = SQW
t = obW
u = /WS
v = SD9
w = cw=
x = ASD
y = FTa
z = AE7
这里转换后的字符串如下:
QW8obWdIWT9pMkF-sd5REtRQSQWjVfXiE/WSFTajBtcw=
这个四不像并不能进行任何解码。看了一下官方wp,发现他的字频统计和我的不同。
不仅如此,即便是按照他给的这个16位进行字符串转换后也不是这个base64的编码?非常奇怪。目前先按照这个答案填吧,不做纠结了。
类型 | 盲水印、字频分析、压缩文件密码爆破、字符编码 |
---|---|
工具 | 随波逐流工具、binwalk、foremost、BlindWaterMark、ARCHPR |
Flag | flag{have_a_good_day1} |
下载题目文件,是五张不同的图片。我们从数字顺序来依次判断每张图片的作用。
这里简单讲一下每张图正确的思路。第一张图先放进随波逐流工具,显示CRC校验失败,说明被修改了宽高。这里工具也是直接输出修复后的图片。
可惜输出的图片依然只有其中一部分,怀疑是不单单修改了宽高,还有别的数据被改写了所以显示不出来。这里放进010editor,通过其中的png图片模板具体看是哪部分有问题。进去之后选择上方工具栏中的“Templates” - “Run Template”,工具会自动识别文件为png并运行脚本。这里首先会出现一个错误提示。
错误显示chunk[2]\[3]\[29]存在问题,29的问题和这道题目没关系也不影响做题,只用看前面的2和3就行,右边展开chunk1、2、3,chunk1是正常的,我们用于比较。这里发现2、3的问题在于type值也就是常说的IDAT值错了,本来表示IDAT的“49 44 41 54”变成了别的值。
这里我们需要把值全部改为IDAT也就是“49 44 41 54”。修改并保存之后图片就能查看了。
第一张图片考点除了文件修复外是考RGB通道,放进stegsolve后发现“Blue Plane 2”的时候会显示一张二维码。
用qr_research扫码得到第一张的信息。
1.png:ZmxhZ3s0X3
第二张图片,老样子先放进随波逐流工具,发现末尾存在字符,工具导出后的字符放进CyberChef看看是什么东西。
发现开头是7z,但是要注意,这个文件开头“37 7a 03 04”和7z的常规开头“37 7A BC AF 27 1C”差距有点大,反而和ZIP文件开头“50 4b 03 04”很接近,其实就是需要我们把所有7z改为PK。在CyberChef中可以做到一键置换。方法如下:
把转换后的文件以zip文件格式保存出来。其中含有多个文本文件,虽然都是1kb,但是618稍微大一点,打开后就是第二张图的信息。
618.txt:You find it: 1RVcmVfc
第三张图放进随波逐流工具可惜没有什么结果,准备放进kali分析,但发现kali中不能直接预览。
这说明3.png的文件数据是没有问题的因为windows上可以看,但可能图片块的其它标识信息出问题了。反正对于kali来说,一般一点小毛病就没法预览了,但对于我们做题倒算是有帮助。把第三张图片放进010editor,提示crc错误。打开发现每一个chunk0到chunk6的crc都被特殊编辑过,被编辑成了hex格式。这里chunk7是正常的可以参考。
全部提取出来放进CyberChef就得到了第三部分信息。
3.png:3RlZ30=
第四张图片通过linux上的strings命令打印文件的可打印字符就能直接看到。
4.png:cExlX1BsY=
第五张图片和上面第4张一样做法。
5.png:Yzcllfc0lN
最后需要拼在一起,但直接拼在一起的结果不对,需要按照15423的顺序拼在一起。
ZmxhZ3s0X3Yzcllfc0lNcExlX1BsY1RVcmVfc3RlZ30=
类型 | 图片隐写、文件修复、字符编码 |
---|---|
工具 | 随波逐流工具、010editor、qr_research、CyberChef |
Flag | flag{4_v3rY_sIMpLe_PlcTUre_steg} |
非常简单的日志分析题目。下载日志文件并放进wireshark。因为流量都是TCP以及HTTP的,这里直接通过导出HTTP文件查看请求了哪些文件内容。大部分文件都是404,只有个别是有具体内容的。
部分文件实际为进行了一个命令执行,没有返回给什么有效内容,其中有个含有base64的文件,打开并放进CyberChef解码,解码两次后得到答案。
类型 | 日志分析、字符编码 |
---|---|
工具 | wireshark、CyberChef |
Flag | flag{Wri35h4rk_1s_u53ful_b72a609537e6} |
下载题目文件,一个未知类型文件,一个叫hint的压缩包。
可惜这个O_O文件不知道是什么。只能先分析hint.zip。hint压缩包内包含一张图片和一个文本文件。
pwd.txt:
゚ω゚ノ= /`m´)ノ ~┻━┻ //*´∇`*/ ['_']; o=(゚ー゚) =_=3; c=(゚Θ゚) =(゚ー゚)-(゚ー゚); (゚Д゚) =(゚Θ゚)= (o^_^o)/ (o^_^o);(゚Д゚)={゚Θ゚: '_' ,゚ω゚ノ : ((゚ω゚ノ==3) +'_') [゚Θ゚] ,゚ー゚ノ :(゚ω゚ノ+ '_')[o^_^o -(゚Θ゚)] ,゚Д゚ノ:((゚ー゚==3) +'_')[゚ー゚] }; (゚Д゚) [゚Θ゚] =((゚ω゚ノ==3) +'_') [c^_^o];(゚Д゚) ['c'] = ((゚Д゚)+'_') [ (゚ー゚)+(゚ー゚)-(゚Θ゚) ];(゚Д゚) ['o'] = ((゚Д゚)+'_') [゚Θ゚];(゚o゚)=(゚Д゚) ['c']+(゚Д゚) ['o']+(゚ω゚ノ +'_')[゚Θ゚]+ ((゚ω゚ノ==3) +'_') [゚ー゚] + ((゚Д゚) +'_') [(゚ー゚)+(゚ー゚)]+ ((゚ー゚==3) +'_') [゚Θ゚]+((゚ー゚==3) +'_') [(゚ー゚) - (゚Θ゚)]+(゚Д゚) ['c']+((゚Д゚)+'_') [(゚ー゚)+(゚ー゚)]+ (゚Д゚) ['o']+((゚ー゚==3) +'_') [゚Θ゚];(゚Д゚) ['_'] =(o^_^o) [゚o゚] [゚o゚];(゚ε゚)=((゚ー゚==3) +'_') [゚Θ゚]+ (゚Д゚) .゚Д゚ノ+((゚Д゚)+'_') [(゚ー゚) + (゚ー゚)]+((゚ー゚==3) +'_') [o^_^o -゚Θ゚]+((゚ー゚==3) +'_') [゚Θ゚]+ (゚ω゚ノ +'_') [゚Θ゚]; (゚ー゚)+=(゚Θ゚); (゚Д゚)[゚ε゚]='\\'; (゚Д゚).゚Θ゚ノ=(゚Д゚+ ゚ー゚)[o^_^o -(゚Θ゚)];(o゚ー゚o)=(゚ω゚ノ +'_')[c^_^o];(゚Д゚) [゚o゚]='\"';(゚Д゚) ['_'] ( (゚Д゚) ['_'] (゚ε゚+(゚Д゚)[゚o゚]+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+((o^_^o) +(o^_^o))+ (o^_^o)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚o゚]) (゚Θ゚)) ('_');
这个一看就是颜文字加密,并且这个文本文件名称是pwd(密码),那应该是用于解密图片的隐写比如steghide。这里用随波逐流工具的一键解码然后找到颜文结果就行。
然后尝试用这个作为steghide的密码,得到了一个secret.txt文本文件。
steghide --extract -sf hh.jpg
secret.txt:
想要flag吗?解出我的密文吧~
U2FsdGVkX1/7KeHVl5984OsGUVSanPfPednHpK9lKvp0kdrxO4Tj/Q==
用CyberChef的base64解码发现开头是Salted,说明大概率是用的DES,那么我们还需要一个key。用exiftool对hint压缩包中的图片输出详细信息时,发现其中包含了密钥信息。
这里用在线解密工具进行解密,得到下一个提示,“stegosaurus”。
有种pyc隐写就是这个名字,项目地址是https://github.com/AngelKitty/stegosaurus。输出结果就是答案。
python3 -m stegosaurus O_O.pyc -x
flag{3teg0Sauru3_!1}
类型 | pyc隐写、加密解密、图片隐写 |
---|---|
工具 | 随波逐流工具、在线解密工具、stegosaurus |
Flag | flag{3teg0Sauru3_!1} |
签到题,解压后的文本文件内容如下:
Are you back for more INSAnity!?
** Warning ** : this challenge will cost you 2 points (but will give you soooo much fame)
`INSA{YouRe_Crazy_and_I_Love_it}`
类型 | 签到题 |
---|---|
工具 | 无 |
Flag | flag{YouRe_Crazy_and_I_Love_it} |
取证类题目,平时做的少,时间都花在查命令上了。下载题目文件,是个img。这道题我是用Windows上配置的Volatility3取证的,其它操作系统的命令可能略微有差异。有一篇文章很好的讲了在Windows上如何配置该工具,这里我不详细讲了。
下载后,可以通过命令对题目文件进行取证,windows不需要知道文件原操作系统的具体版本号,只需要知道是Windows系统就行。首先列出所有进程,并没有发现什么特殊的进程。
#列出所有进程
vol -f .\memory.img windows.pslist
然后看一下屏幕截图
vol -f .\memory.img screenshot --dump-dir=./
这里比较清晰的看到DunpIt.exe运行同时跑出了flag.png。这里怀疑这个图片是通过运行DumpIt这个程序显示出来的,所以通过下面的命令把和该程序有关的进程全部dump下来。
vol -f .\memory.img memdump -p 1992 --dump-dir=./
我们dump下来的不是某个特定文件,而是一个dmp文件,我们需要对该文件进行进一步的分析。但这里我们已知需要的是一个png文件,可以直接尝试foremost进行分离。这里分离dmp文件后得到了两张图片。
用qr_research对二维码进行扫描。得到一串密文,由于上面给了一个key和iv,这里怀疑用了AES加密。
jfXvUoypb8p3zvmPks8kJ5Kt0vmEw0xUZyRGOicraY4=
key:Th1s_1s_K3y00000
iv:1234567890123456
这里用随波逐流工具中自带的AES解密工具进行解密。
类型 | 取证、加密解密 |
---|---|
工具 | 随波逐流工具、Volatility3、qr_research、foremost |
Flag | flag{F0uNd_s0m3th1ng_1n_M3mory} |
下载题目文件,是个看起来什么都没有的doc文档。结合题目的frequency,可能是需要做字频统计。但这里字词太少了,应该是做了隐藏。
我用的是WPS,左上角“文件” - “选项” - “视图”中可以设置为显示隐藏文字,确认后就会出现被隐藏的文字了。
a2draGxmY290bnRpdWZwZ2hodGN3dWprY2ttb3ducGNrbXdseWd0bHBtZmtneWFhaWh1Y2RsYXRveXVjb2lnZ3JwbGt2a2Ftcmt0cXp4ZW1taXdrbGh1YWVrY2VvbHBvY2ZtdGFobWdmbWF2YWpuYmNwbWx0anRwdWZqY2FwY3RvanBqYmZmYmpid2h1YWxnZ3lqbmFtY2JmeWFjamJheGtpeGxtbXFpa3NtcHRxeW9qZXJ0ZmVrdGR4ZHh4YnRyeGNhbmd5bXNpbWh2dXdrdGV4c2dscnRwZ2FrdGJtZnVjZ3ZubXRqdWZvZWt5bXRsaW14ZGlqanB4eWl0YWJwbWt1Y2NubGtwb2V0Z2NkY3Bvc2tpenZ5eHJ0enhyYXh0bm9paHFjeGZvYWFhbHBhanlja2VrYnljZnZqb21sbGthamd5bWdmZGNycGVxa2xmc2NtZWppY3BqaWtjcHBhY3h5ZXZma3ljcHBia2R6Y2ZsbGlrcW5pdGNrYmhqb3JuZGhzb21mdHlwYWhwcW94cnlpbWhmbGNoY21rb3JldG1yb3RrYXJjanRobWZ0aWxpam55a3V0aWhienR0dW1zbmdmdGxtcmJmZmx0ZndjbmptZmF0bGZiemxva3RscHBsbWZpY29rcHBucGFjbWZ1Z21wdW5kdnRvbXdldmNqc2dhamdmZXF1dXBhaWV0eW5mamJicGpzbHZ5bmFmdG1scHBka3R0b2Z1emppanhpdGJmaXJtb3ZwemVraXJic2Zqc2d6bHVrb2x5dm9obXZnY3BrdGhzeGZ6bW1ibm1sZHp5dWljZHZrbXpiYXlidG9yY2ZvdHRkYW1jY25iYXBucmd4bGN5cGh5Zm5jZXhidmRubG9rZ295aWxwcmxvbnNodGNranR4bmFiamhsbWJwZGNtaGtqbmxnbXRnam5qYWtyaXpsbHBtbWFscHhhbXVuaW51cGtwZGlhcHNzbXZrZGp2Z2l5b2R1bXBuYXBsamtqYmNmaHRoc2tpb2twZ3R0eWhubmRzeGtxanp2dmRvc2VwcG9pZ3l0bW5uYXZjdG9wZHlpeHZiZG9zb2JtY3ViaXVhanhoeWZrdnJremdjdXlpbHB2YXdheW5xYWFwbGJrd2lpeHJjdGN0bGt4ZmpscGVhbW1qbmF1amNvdWlmbXZpa2ZpbXJvYXF0Y3RjZm1hdWJnYWdva2FyZnFmaGVtb3NydHlmb3B1a3VkY2FhaW1oZGZvZ25oa3JjZWxwY2F0Y3RweWpsYXZva2xnY2xhdGx0bXR6eWdwZWhma3poY3R6bmdtb2ZjaXpsdm54dG5sdWFqbHRvdmNqYWp1YnphdHBlaGhma25uZ2dwbHlsaXZmZWFpZHJteWp0YWNhbXhjbmtmeXN0d2ZuZmx5bmJta2NrYXJ4YWlzcGpsa3ZjdHZrbHh1bmNmcGJ4dmlyaXFleXBtdXZ1bHZsamNrY3lwcHRwdmV0b3hobWlwYmlsbmplb3drd3VjdG9rbmFmcHdvYXBmdGNsemhwaHhjY2F0dGh1bXZ3aHpvbWFmd3Fxbmxzb3lhYnV0bHpwaWF0Zm1tYWprcmR2bGN6d2pwc3Nwb2FiaWZpcGhrb2NocHRrYXRrYWZlb255YmZpdmVjbGR6b2ZhdGV0Z2FsaGFmYW1vYXlvc291bm5hZmlhdGNqdGl3b29sYWNya2N1YWRwdXRreWxweXBiZ2ZlcHdwc25jd2tjd2xsYXJ5anNjYW5id3BkcHpicHR1dG5sbm9wd3BpdGJsb3RsbHppZmtsYWF1cmpwaWFqZnB0a2ZteHBic3VjdmpzZ21jYWxhbnRyc2NrYmt1eWZnYWFrZmFjbmxkdXZxZXR5amdqbW5hZWFjbmdheGNuYW1qbWlna2tpdW1sbmR3Y2ttdWFuYW52cnJiZnp4enl1dWVob25lbWxjanp1dm9hanVmZGdqampjZ21ucHRmdXVjdWJjdGpoYW1sb2xmaG9pZnZia2themNwb3pjeXVjYnJnb2picG5haGNneXV0dGR2bXR0dndqbWhic2ptYmJhdmNkbHlob3Fqb21wY3B2aHRrb2FpcnZ0bWtmZnlhdGttcHR1dW9vb2xncG5udWVsaGZodnZpc3Vrd3lubWlhY25sbHVtaHRqZWt1YXV1cGxyeGtpZXB1anhsaWNma2NiY2htbmdsZ3BsaWhteWNybnNvbWF3dWZ1b29tdXVuaGRvb2FydWRhbW9hbW9ocW9vY2Z1cGp1aWFieHh1dnl2bm9zb3Vvb3Zha2xjZmt0eXJmYWdmYXl2cHVmdnBiZ3RhZmVraXBpY292dGZ0bnV4c2phdmpkcWt2ZnVpa2x0bWRrYmJua3BhZnhycXBmZ2N0dmFzY3VqamN1Y2h1YXpjaXVtdHRkbmF3aWhtbW9qZmJoeHZvbXRmcGJmaHR2aXdsYXVlb2dwcG1qc3BjYWxmaGNhcmtsYmlzcGh0anBhbmhsaXNwbnRza2tjbGpnZ2tjenRmaG5lY25wdGlmZnRyZG10amZla2ZpdGthc2RnbmVscHVoYmZpbXB1Y2JrcGtjbXhsZmtwaWlqdmh0amtzeWx6cm9vZmFjeGNscGpuaGJpcmN5ZGp0Y2xqZG9ibHlyeW1hdGdoaWZvam1qanNla29vbW9mY2FjdGF2ZmN5Zm11Znhoc3Rqd3VwYmpreW9nbnlyeXBseXBxbGF5eW1veHRhbnFkcHVyYnd6cGxsb2traGhtYW5kam5hdGNibGtjb3Rna2x1dHR3YmRhdHFybWF6cHJ2YXd6anhlZmhqdGRraWt1cmxsY2xjam9naG1sd3RhbWRkY2NucXVyb3Jha2N5b2JsYXJ6YWNtbnFjbWV0dHVheWF1eWl2c21ma25uYW5sdGNtaWdmcmdhYmlwdG50aG1tdXRwaWJ5bHJhdGhqY2doY2ZtbG92cGNudHFwZW96bG90ZGtlaW9jZmtjaXZ1eWx6Ympvb3hjc2FjbmdkdXZ4dG50aGphZXBhdX1rbGFocGNtdnppY2twYWFwaG9jZ2lvZ2p0dnB0Z2poZG9udW5scGFvbG5kcWJxZmRtYnBqam94Ym9tbGlreXVpcG54cXh6Y2lmb3JhaGhldXl5dHpoanV0Z2Z3dHVscmpjZnhvaWFneWpmYnBqaWFrZ3l0eGJmbnBsZnBxd3RkaXFuaXR2dmF1amRqbGlmamlvcnltdmZ4bXhnb3JpY3ljZGZob2ZiYnlnZmxhdGlyamRpZGFkcXZpa2pvY2l5ZmR6aHJvZ255eWlia2dubnZobWpsb2xhdndmaWpjZ2dma3B0a3BnY3FmYWZheXNpdHltYWN2a3FweWxoaGJ1Ymh4c2x1emN5dmxvcmlwdGxwZmxjdWljcG5mc2hpeXh2a2tiY2p5dWtvdGFsZmNpcGhjZGd4aWZ0a2xkZ29wanNtdXJ0eWp5cGhia2JmbmJ3YnNvZmlheHRsdWhwbXJmZGFrdWx1cGVhcHZyeXhtYWVwaGF5bmV4emZsbmV2am1pYndvcml0aGh4YmJ5cG1tYWJvYmZuZmNvanR0Y3Jram1naXJ2bWlzdW5mbHVodGVudHJodGVvamtjaGtwZnBhZXNnd2dscWRrdnZudWx1bnF7bG1sdGFscGhvdWZqcGlhbGNmbGZ5ZHZmd3lkb2ZraGFpeWF3bGx3Y2pvYXJxdnpqbGZmZ2xjdGNsYmxwa2JzZmxocnRqZGFvd3ByZGJjdWJmbHlveWJodmh3ZndvZWl0Z254YnpuaWZwbGx4bXN0a251aWhvYmZlZWZra2FreW5uYWNra2NkdWFtZ3N2bnBoY3RmZ3NybnJvZWh2ZW5kYmZpb21xZm14Ym1paWl1bGF2b2dma2dhY2lrYWFtcHBybGpmbXBqY3VhYXNja2l1cWlmY2liamx1dGNtcGF0b2pyanZmeGdsenBvcGpkZ2NoanVqbGtuZnd0cG5qZnBhY3JrcHRmaGNzamdyaXBjcmZjZGFsem5ob25mZGNvaG9zZmhvaGVha250aXRtamZsbmJvcGNsY3hjdWlnb3hja3JiYWxyYWVidGFhcml
这个直接进行字频分析感觉结果不太对,并且上面提示了有两截,这里找一下另外一部分。通过exiftool查看文档详细信息时发现了一段编辑的评论。这个评论有点像是base64,但是直接解码也什么都没有。
所以尝试把这两部分放到一起进行base64解码,最终得到一串文字,再对这个文字内容用在线工具进行字频分析。
字频统计结果:
actfplokmijnuhbygvrdxeszwq{}
稍微改变一下顺序
actf{plokmijnuhbygvrdxeszwq}
类型 | doc隐写、字符编码、字频统计 |
---|---|
工具 | exiftool、CyberChef、字频统计在线工具 |
Flag | flag{plokmijnuhbygvrdxeszwq} |
下载题目文件,是个gif图片,放进随波逐流等图片分析工具都没有任何结果。说实话在这里卡壳了很久,放进010editor后也发现没有隐藏编码。最后想到题目说的色彩可能是指答案就在图像的RGB数据中,我们得到的图像是个看上去接近的某种颜色(我觉得是褐色)组成的,这里我们需要把这些颜色转为16进制先。
用这个超级好用的在线工具(https://s.wtsolutions.cn/image-pixel-rgba.html)把gif图片的RGBA数据提取出来。输出的结果是表格格式的。
这里依然不是我们想要的十六进制数据。还需要把对应的RGB转换为16进制就用到这个工具。比如第一列的RGBA数据RGBA(139,139,97,255),把前面三位依次放入工具再进行转换就可以得到16进制的表示了。
全部转为16进制后可以发现,这些颜色只有最后两位不同。
#8B8B61
#8B8B70
#8B8B6A
#8B8B65
#8B8B73
全部把最后两位提取出来就是“6161706a6573”,最后对这个十六进制进行ASCII转换就是我们的答案。(冷门到家了)
类型 | 图片隐写、字符编码 |
---|---|
工具 | gif转RGBA工具、RGB转Hex工具、CyberChef |
Flag | flag{aapjes} |
签到题,上次好像遇到过一模一样的。下载题目文件,文件内容如下:
Welcome! Respect others, learn and have fun :)
`INSA{Welcome}`
类型 | 签到题 |
---|---|
工具 | 无 |
Flag | flag{Welcome} |
下载题目文件,是个png图片。
仔细观察图片,会发现图片第一个字母的左上角有一个小小的马赛克。在进行了一圈图片分析后没有发现什么有用信息,所以回到这个马赛克上。把马赛克放大。
以从左到右,从上到下,黑是1,白是0的方式进行转换,得到一串二进制。转换为十进制就是答案。
001100010011001000110011001101000011010100110110001101110011100000
类型 | 字符编码 |
---|---|
工具 | CyberChef |
Flag | flag{12345678} |
这次的12道题做的有点折磨,感觉有些题目有点太冷门了,像这个gif,要不然这个图片本身很简单没有什么数据,真的想不到是RGB的色差的十六进制转换为ASCII。有时候觉得misc就是脑筋急转弯。
继续加油吧!感谢各位!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。