本题给了个连接,点击下载后是一个zip文件,但是却无法打开,所以用binwalk跑一下看看答题链接:http://www.shiyanbar.com/ctf/1887
发现内部是一个png图片,还有一个zlib格式的data,先把后缀转换成png图片看看
嗯,果然是武功秘籍,但是并没有啥用,那就看看下面的zlib吧 Binwalk -e分离一下 出来了2个文件
用ghex打开4D.zlib,查找flag无果,查找key试试
哈哈,找到了,得来全不费工夫,就在文件的最下面 但是key is 后面的一串字符串很乱,明显不是flag的格式,想到应该是base64加密 上网base64解密一下得到T_ysK9_5rhk__uFMt}3El{nu@E 这一串字符串,里面有{},应该就是flag,我最开始想的是凯撒密码,结果尝试后发现答案是下面这样的
明显不对啊 后来想了想可能是栅栏加密 观察源字符串T_ysK9_5rhk__uFMt}3El{nu@E T后面应该是跟h,这样组成字符串应该是the key is之类的 所以找到唯一的h在第10个字符位,所以切片字符串时隔9个字符取一次,而一共有26个字符,所以应该是3栏栅栏加密 然后写出相应代码进行解密
str = 'T_ysK9_5rhk__uFMt}3El{nu@E' cipher ='' for i in range(len(str)/3+1): cipher += str[i::9] print cipher可得答案
但是提交时需要去掉前面的一大堆字符,实验吧的密码提交格式真的相当有问题了