segmentfault 双11光棍节程序猿闯关秀

双十一segmentfault推出一个双十一解密游戏,不过当时我在前往北京的火车上,于是今天从北京跪回来玩了一下,作为玩过arthurluk的人感觉还是没有压力的。

第一关

https://1111.segmentfault.com/
全选看到连接

第二关

https://1111.segmentfault.com/?k=05f5a5b740dbba332ea21005b7214c44
查看源代码发现密码

第三关

https://1111.segmentfault.com/?k=c0781e0fb05d15fa6ecb71b324805f9f
首先发现这个密钥都很有规律,应该是个md5,于是去www.cmd5.com这个坑比网站上试了,没用,又瞎搞了几个盐也没用,代码里面只有一个amazon的js,应该不是提示。于是猜测是不是在http响应头里面,一看果然是的,密码是The-Key-Is字段。

第四关

https://1111.segmentfault.com/?k=a87ff679a2f3e71d9181a67b7542122c
这一关就是md5了,响应头里面给了个X-Hit,以为是盐,用坑比网站解密发现是4。然后下一关网址就是5加密,但是怎么都不对,后来发现就是个裸的md5,没有盐,X-hit好像是用来看缓存是否命中的。

第五关

https://1111.segmentfault.com/?k=e4da3b7fbbce2345d7772b0674a318d5
给了个二维码,扫了之后发现是这东西。
根据我玩arthurluk的经验,我把https://1111.segmentfault.com/5.png 和404的那个svg图改成了bmp、jpg、png、svg、php、txt等格式发现都没有用。于是这一关我投降了,查看题解发现要把这个图片下载下来,作为txt打开。可以看到下面的密码。

第六关

https://1111.segmentfault.com/?k=bdbf46a337ac08e6b4677c2826519542
题目是:f4de502e58723e6252e8856d4dc8fc3b,只能告诉你这么多。
首先想到的是这可能是寻找一个二级页面,然后提示在二级页面里面。于是不管三七二十一先去坑比网站上查一下,结果查到了,要付费购买。那去不坑比的网站查一下,http://www.dmd5.com/ 查到了,是2323k14jm,显然这不对。
后来发现数字可能是多个char拼起来的,但是考虑下并不是ascii或者unicode。
不会了,google下,发现twitter直接给答案,这不怪我咯。

第七关

https://1111.segmentfault.com/?k=1573402aa6086d9ce42cfd5991027022
好吧,原来是测翻墙技术的。
搞了半天,直接把这串填进去就行了

第八关

https://1111.segmentfault.com/?k=110a21f15af64b25163fe67799abecda
给你一个表单,input填好密码,但是没有submit按钮。查看源码发现

1
2
3
<form method="GET">
<input type="text" name="k" value="cda7ea6afa6ba887e7b8695b9ebac61d">
</form>

卧槽这method="GET"欲盖弥彰啊,改成post,过了

第九关

https://1111.segmentfault.com/?k=110a21f15af64b25163fe67799abecda (注意带上post的数据)
貌似是ascii构成的base64,用python硬搞一波,转成一堆乱码,但是问题是下划线不知道转成什么。
仔细看一下觉得也不像π、e之类的常数,于是决定假设_始终代表0和1中得到某一个值。用0试,出现奇妙字符,用1试,是合法的base64。用工具转成文本,得到一堆乱码,于是可能是图片。试了一试也不行。那直接MD5也不行。
不会,后来发现原来是保存成文件。
我写了个代码在这里,特别注意的是windows有个神坑,当按照文件读写的时候\n(0x10)是默认变成\r\n(0x1310)的,因此压缩包会无法解压,如下图所示(使用Hex Compare比较):

因此应当使用wb而不是w来写文件。

第十关(通关)

从解压得到的图片上可以看到通关页面:
https://1111.segmentfault.com/?k=e4a4a96a69a1b2b530b3bec6734cdf52