非常好玩,考点齐全,复习了一遍,希望下次出需要用特别特别简单的脚本的题。记录wp顺便拿来当复习了。
本来想着按照做题顺序写,后来发现有点乱,还是按照题目序号写
题目描述
想要我的flag吗?如果想要的话,那就去找吧,我把全部的flag都放在那里。
下载地址https://ctfshow.lanzous.com/iDEiVmr8m4d
本场比赛共有18题,但只有1个附件文件(见第1题),所有flag均可以从附件中获取;
1、所有的flag开头和结尾均为#,中间由字母、数字或下划线组成;
2、本场比赛不使用任何可以设置密码的隐写方法,包括可以将密码留空的隐写方法;
3、原理类似的隐写方法在确保不互相干扰的前提下可能会以多种方式使用;
4、如果从附件提取的隐写信息为字符串形式,可能需要转码得到指定格式的结果;
5、如果从附件提取的隐写信息为另一张图片,该图片不会再包含隐写信息,即不存在套娃隐写;
6、所使用的字体均为微软雅黑,若有字符无法分辨,请与字体对比查看;
7、取得类似#abcd_1234#的字符串后,请计算其MD5值(包含头尾的#号);
8、每道题目都给出了一段MD5值,请找到MD5值匹配的题目后,将flag包上ctfshow{}格式提交。
One PieNG 1
下载附件,图片名字即为flag
ctfshow{#St4rt_fr0m_th1s_5tr1ng#}
One PieNG 2
ctfshow{#Th1s_i5_s0_34sy!!!#}
One PieNG 3
修改图片高度
习惯直接把0改成9,就直接出了3题和4题
ctfshow{#Pn9_He1gh7_6e_ch4ng3d#}
One PieNG 4
再往下拉就能发现flag
ctfshow{#M4yb3_we_sh0uld_9o_d33per#}
One PieNG 5
先把高度调回去,然后用stegsolve打开
B通道最低位隐写
ctfshow{#You_st3gs0lved_me!!!#}
One PieNG 6
LSB隐写,使用stegsolve的data extract,选上RGB的0通道
ctfshow{#LSB_1s_v3ry_e4sy_righ7?#}
One PieNG 7
考虑column,先选上RGB和column,发现可能存在flag,然后尝试去掉一些通道,最后在RG通道找到flag
ctfshow{#5omet1mes_LSB_g0es_co1omn_f1r5t#}
One PieNG 8
考虑到R,G,B,A通道都能看到左上角有问题,并且是明显的问题,可能7通道存在flag
ctfshow{#zsteg_do35_no7_a1w4ys_w0rk#}
One PieNG 9
可以观察到,0通道的左上角的LSB隐写长度
然后发现1通道和2通道长度明显比这个长,
提取1、2通道,得到pk头,点击save bin,保存为1.zip
得到1.zip,解压即可得到flag
ctfshow{#Wh4t_1s_6it_0rder_4nd_y0u_c4n_LSB_b1nd4ta_to0#}
One PieNG 10
010打开,得到flag
ctfshow{#A_k3y_1n_exif#}
One PieNG 11
在线去找一个EXIF查看器(也可以用010,也可以用PS)
https://exif.tuchong.com/
直接白给2个flag
b58/3AjtPrXQJuhFwguK7nqu4ZpsqMLwU即base58后面的内容
ctfshow{#An0th3r_key_1n_3xif#}
One PieNG 12
同上,23415F6B65795F6672306D5F50683074307368307023转换
ctfshow{#A_key_fr0m_Ph0t0sh0p#}
One PieNG 13
010查看变量窗口(打开方式:视图–检查器窗口–变量,需要下载png摸板,点击模板–摸板储存库–png模板)
ctfshow{#Ju5t_a_1one1y_tEXt_chunk#}
One PieNG 14
也是常规考点,我先用PNGdebugger跑了一下
然后记得备份一份,使用tweakpng删掉前面出错的9个IDAT块(这9个IDAT块就是一打开图片看到的那个)
删掉tXEt和前面的IDAT,然后save保存
ctfshow{#eXtr4_IDAT_of_an0th3r_Pn9#}
One PieNG 15
使用binwalk,得到的文件我是一个个翻的
官解https://www.w3.org/TR/PNG/
更正后的原理:
zlib不是一个压缩算法,说到“zlib压缩数据”之类的概念时,里面zlib的意思更接近指代一种压缩数据的存放格式。同时,PNG的压缩算法虽然预留了相应标记位,但是目前仍只支持一种算法,同时也是zlib库目前唯一支持的算法,LZ77的变种,DEFLATE
所以IDAT块中的数据是以LZ77变种算法DEFLATE压缩后以zlib格式储存的
ctfshow{#IDAT_i5_a_z1ib_p4cka9e#}
One PieNG 16
这题太坑了,告辞。
之前出错的IDAT块
能发现都是00开头,后面几乎都是6,并且是16进制,猜想转ASCII
一转就出flag
23483164655F683378643437615F316E5F6368756E6B5F43524323
ctfshow{#H1de_h3xd47a_1n_chunk_CRC#}
One PieNG 17
文件尾
ctfshow{#HexEditor_wi11_b3_he1pfu1#}
One PieNG 18
foremost分离出另一张图片(虽说刚刚binwalk分过了)
ctfshow{#He110_I_4m_Tw0_PieNG#}
**One PieNG问卷调查 **
ctfshow{套娃终有报,天道好轮回。不信抬头看,苍天饶过谁。}
建议出进阶,建议用python,建议使用工具,不建议套娃