ctf03
10.13的做题小记录
1.刷新过的图片
这里下载题目得到一张图片,hex观察无果,其他的隐写也无果。考虑题目的提示:刷新的按键一般是F5。故考虑F5隐写。
F5刷新隐写,原理文献:https://wenku.baidu.com/view/c9150e29b4daa58da0114a39.html,
利用工具:https://github.com/matthewgao/F5-steganography,
使用命令:java Extract 123456.jpg -p [password]/[空],在output.txt找解密后的文本,得flag。
2.snake
下载后又是一张jpg,观察图片hex发现熟悉的504B,提取zip后得到两个文件,一个key,一个cipher,打开key,有一串base64字符,解码之后,得到:
1 | What is Nicki Minaj's favorite song that refers to snakes? |
百度一波得到key:anacondam,对于蛇这个名词,在英语中还有一个翻译:Serpent。
Serpent是一个加密算法,关于算法的更多详细信息参考博客,
找一个在线网站ecb模式输入key得到flag。
3.梅花香之苦寒来
下载又又是图片,emmmm,查看hex看到jpg文件尾发现大量字符串
不难判断这是[^16进制],[^16进制]:一般用数字0到9和字母A到F(或af)表示,其中:AF表示10~15,这些称作十六进制数字。
一个字节一组转ascii码
1 | with open('hex.txt','r') as h: |
得到
好多好多的坐标,
使用gnuplot工具绘图,安装:
输入:apt-get install gnuplot,然后输入:gnuplot 就可以打开了
但是打开之后并不能良好的使用,会报错:Terminal type set to ‘unknown’
因此需要安装多余的依赖包,输入:apt-get install gnuplot-x11
但是gnuplot识别的坐标为x y以空格作为分隔,所以用脚本让坐标变成gnuplot可以识别的坐标
1 | with open('ascii.txt','r')as a: |
最终
kali下在output目录下gnuplot: “plot output.txt”
[BJDCTF 2nd]圣火昭昭-y1ng
下载zip又是一张图片,右键查看属性备注有一个新约佛论禅加密
解密得到gemlove
在看题目提示
猜测出题人使用了outguess工具隐写文件
工具下载:https://github.com/crorvick/outguess
下载源文件:git clone https://github.com/crorvick/outguess
kali下执行命令./configure && make && make install 进行编译及安装。
安装成功!!!(其实我挺害怕报错的=D)
使用命令:outguess -k ‘gemlove’ -r ./sheng_huo_zhao_zhao.jpg flag.txt
tips:
⚫ “++.>++++”这是brainfuck代码,使用在线执行网站运行即可得到明文
⚫ emoji 加密在线网站key为emoji,或者网站https://github.com/mozilla/codemoji下载源码
⚫ base64可以转图片
⚫ ook也是一个加密密文,在线网站
⚫ “佛曰”为与佛论禅加密,”新佛曰”为新约佛论禅
⚫ 识别outguess和steghide隐写的方法:(待验证)”password”的密匙偏向于steghide,”key”的密匙偏向于outguess,主要看题目有没有提示工具的关键名字如:”guess”,”hide”
⚫ another:
隐写的还有一种JPG隐写的方法——使用jphhs05工具来载入数据
end…