隐藏的信息 WriteUp

题目链接

链接:https://pan.baidu.com/s/1HEiFvxBkeg9VF1yNpZZpPQ
提取码:beby

题解

XCTF2020高校抗疫赛的一道misc题。
题目包含一张图片和一个Zip。

1.图片中能得到很多无用信息:

  • 用010editor查看16进制得到TOGETYOURFLAG

  • 百度随便找一张二维码,ps建几个图层裁剪放大,将缺损的二维码的三个角补齐并反色,扫描得到一句假flag

  • 左下角放大,得到245个特殊彩色点,可以取它们的RGB值。(8个连续的像素点的RGB并非完全一样,有微小差异,很坑)
    可以用ps的吸管取色一个一个查看RGB值,也可以处理二维码,只留下这24
    5个像素,另存为一张图片用stegsolve打开,然后extract data,给RGB所有值打上勾,得到RGB值。


值得注意的是你可以得到反色和不反色的两组版本(虽然都没有用)

  • 唯一有用的信息我是看别人的wp才知道的..用strings工具查看二维码图片的字符串strings 二维码.jpg,发现“USEBASE64”

2.ZIP是伪加密

我用了一晚尝试各种RGB循环异或,16进制10进制,各种数值都无法解压纯数字.zip,讽刺的是就在这天我做了一道ZIP伪加密的题,但我以为题目给了图片,一定要从图片中找解压密码。结果第二天我随便试了一下伪加密就成功了..
方法是用winhex打开纯数字.zip,搜索50 4B 01 02,找到一个09 00,将9改为0即可。

3.拨号音隐写,新知识get

关于音频隐写以前只做过摩尔斯码和直接查看频谱的..本题是拨号音隐写,其实看频谱图能发现开头和结尾有十几个断点,感觉可疑但是不知道拨号音这个知识点所以没做出来。
可以在au中打开此文件,放大对着刻度线一个个查看频率值,对照下表列出每上下两个频率对应的数字(符号),不过很费眼,而且易错。


用脚本做显然是更好的选择。我把中间的音频剪掉,只留下开头和结尾的频率点(不剪可能也可以),然后用github上的脚本跑一下就得到所有拨号音。


github的脚本地址:https://github.com/hfeeki/dtmf
用脚本的时候改一下里面打开文件的那行,改成自己的文件路径即可:

4.整合信息得到答案

现在我们得到了一行手机号187485618521,然后用base64加密,即得到flag:MTg3NDg1NjE4NTIx。

参考

zip伪加密原理及操作
基于拨号音的分析
高校战“疫”网络安全分享赛 WP

posted @ 2020-03-10 15:59  平静的雨田  阅读(497)  评论(2编辑  收藏  举报