第一关
解题思路
页面源码
WriteUp
查看页面源码即可
第二关
解题思路
又是页面源码
WriteUp
查看页面源码即可
第三关
解题思路
响应头里藏数据
WriteUp
这次终于不是页面源码了,F12查看响应头即可
第四关
解题思路
将上一关的密码解MD5即可发现规律
WriteUp
先将前面几关的密码列举如下:
04ce6e8ecb37b7142a09364df29b16dc
05b47284c25dfb30d16f5ada2c4359a1
a87ff679a2f3e71d9181a67b7542122c
逐个解MD5才发现其实只有第三关的可以解开,前两关的只是迷惑作用
a87ff679a2f3e71d9181a67b7542122c : 4
那么密码就是 5 的MD5值
e4da3b7fbbce2345d7772b0674a318d5 : 5
第五关
解题思路
简单隐写
WriteUp
直接扫一下看看
好吧,被耍了。。。
那就扔进HxD里看看好了
第六关
解题思路
没事多问Google
WriteUp
第七关
解题思路
小小脑洞
WriteUp
答案就在题面上了
第八关
解题思路
From一般都是POST的
WriteUp
涨姿势点
第一次直接改这个
第九关
解题思路
一点脑洞,一点难度
WriteUp
首先可以发现所有的二进制数据缺少的都是4位,那么联想到双11,猜测缺少的四位为 1111
补全后干嘛呢?按照一般思路应该把二进制转为十进制,然后再转为ASCII
很明显这是base64加密后的数据,不过解出来的确是乱码
尝试过把解密后的数据直接粘贴到HxD里生成文件,不过粘贴不了
后来才知道是需要用解密后的数据生成 .tag.gz文件
import base64
f1 = open('01.txt','r')
f2 = open('out.tar.gz','wb')
s = ''
for i in f1.readlines():
i = i.rstrip()
i = list(i.replace('____','1111').split(' '))
for n in i:
n = int(n,2)
s += chr(n)
f2.write(base64.b64decode(s))
f1.close()
解压生成的out.tar.gz文件即可
涨姿势点
base64解出来的乱码为什么不用.tar.gz文件试试呢?