昨晚的活动,炸了!
端午节的闯关活动,昨天晚上20:00准时开打,我又一次低估了大家的热情和才智。我以为题目弄难了一点,可能大家得费点时间,没想到被啪啪打脸。
放一下昨天活动的传送门,错过的同学可以去看看:端午活动2021
今天,咱们就来解答一下如何解题,以及大家的一些骚操作~
第一部分
第一部分的碎片在这个GIF中:
大家第一时间是不是想的去截图?但奈何出现只是一瞬间,想要截到图还真不是那么容易。
其实这第一题作为阳光普照奖,我已经放了很多水了。不信你看除了去截图,这三种办法一定让你哭笑不得。
方法1:
GIF图片实际上是有多个帧构成的,可以保存GIF文件,用在线的网站或者软件进行拆帧,把那一帧拆出来就行了。比如在MAC上,直接用系统自带的图片查看器就能做到,根本不需要第三方软件:
左边栏能查看所有的帧,找到那一帧轻而易举。
方法2:
想拿到第一关的口令红包,还有个更简单的办法,直接拿起手机,对着动图扫就是了,没错,直接扫,就算它变得再快,微信依然能自动捕获到那一帧识别出来,不信你试试?
方法3:
方法3就更简单了,在手机上,直接长按GIF图片,微信也能自动检测到:
怎么样,是不是so easy?
第一部分的红包口令(口令中去掉标点符号):
悲莫悲兮生离别,乐莫乐兮新相知
这是出自屈原的 《九歌·少司命》 中的名句,意为:可悲啊,没有比活活地分离更可悲;快乐啊,没有比新遇上知己更快乐。用以表现亲朋离合的悲喜之情。
端午节是感念伟大爱国诗人屈原的日子,虽然已经过去了两千多年,但屈原的爱国精神,依然传承至今,也将继续传承下去。
第二部分
第二部分的碎片在这个URL下面:
http://xuanyuan.ctfcode.com:8080/duanwujie/part2.png
访问一下先:
提示要从百度搜索跳转过来,很多朋友一看就懵了,这是个什么鬼?
于是很多人去百度搜,但又不知道从何搜起。
大家思考一下,一个网站如何能知道是不是从百度跳转过来的呢?
我们知道网站的通信是基于HTTP协议的,所以还得从HTTP身上找答案。
HTTP协议中有一个Referer字段,用来表示请求是从哪个链接过来的:
比如咱们在百度搜索“编程技术宇宙”,出现的第一个是我的知乎:
先别急着点击,右键选择复制一下第一个的链接地址:
https://www.baidu.com/link?url=QFagoDdoRpn0RFc8JBupDpuw3sN7nd-y6hHqPFhIHiu2WdOAtwuoi97UobzSahLrVH3_UIcn82UIadl5mURsKq&wd=&eqid=e86d0ddd0001db8b0000000660c54a70
是这么一个地址,然后新建一个标签,把浏览器的F12开发者功能打开,定位到网络窗口,然后在地址栏输入上面的URL,查看网络请求的情况:
可以看到,在向知乎请求网页内容的时候,referer字段携带了上面的地址,向知乎表明,这是一次来自百度搜索的跳转。
referer字段的这一用法常常有两个作用:
防盗链,我们可能经常遇到这样的情况,在CSDN里面写好的博客,但复制到博客园或者其他地方后,图片全部都挂了。这就是CSDN为了防止别的网站使用他的图片,根据referer字段检测是不是自家网站的博文引用的图片,如果是就返回图片数据,否则就返回一个错误信息的图片。至于为什么要这样做,现在的网络服务器网络带宽都很贵的,你想啊,不是你网站的文章,却把你当作图片存储仓库来白嫖,你可愿意?你也不会愿意的!
流量统计,网站站长或者运营者经常有一个需求,就是想统计一下自己网站的来源都是来自哪里,是搜索引擎,还是自然流量,还是其他网站的链接过来的。这个时候,通过referer字段就可以做统计了,统计不同渠道的流量来源占比。
回到题目本身上来,网页提示要从百度搜索跳转过来,只需要在请求的header中,将referer填上www.baidu.com,即可成功。至于如何添加,你可以使用curl命令行工具,也可以使用postman工具,这些都是程序员的基本工,建议可以趁此机会了解学习一下。
第二部分的口令也就拿到了:
路漫漫其修远兮,吾将上下而求索
这一句大家应该都认识了,屈原的名句,出自经典 《离骚》,路虽漫长,却积极进取求索。
因为前面第一部分的口令是屈原的名句,我猜想一些聪明的小伙伴可能猜到了后面的部分口令也是屈原的名句,而这一句应该是无人不知无人不晓了,所以我在设置口令的时候,在前面加了一个“二”,防止有人猜到。
第三部分
第三部分的碎片在这里:
http://xuanyuan.ctfcode.com:8080/duanwujie/part3.png
访问一下先:
网页只有一句话,遇事不决,查看源码:
看起来是在写cookie,把这一段cookie抠出来,看样子是一段base64编码,但光有这一部分还不够,从cookie的key前面有个“1=”可以猜到,应该还有一部分。
老规矩,来看下HTTP的请求头和响应头有没有什么线索:
看到了吧,这里还有第二部分的数据。其实直接在浏览器的cookie存储窗口,就能看到完整的两部分cookie了:
按照顺序把它们拼出来,并用base64解码,你将得到第三个碎片的URL:
打开URL:
拿到口令:
亦余心之所善兮,虽九死其犹未悔
这一句,同样出自 《离骚》,表达了屈原为了追求家国富强,纵死也无悔的忠贞情怀。
前面第二部分加了一个二字,有人可能猜到第三部分会加一个三字,我这一次换了位置加到了两句的中间,防止被猜测到。
第四部分
第四部分碎片在这张图中:
我看到群里有些朋友用上了各种色阶、曲线、饱和度之类的图像分析技术,大家可以想一想,如果是这样的话,我为什么要放到百度云让下载呢,直接给图片不挺好的吗?
根据我把图片放在了百度云上,可以大胆猜测,必须要用图片原文件才行,所以应该从文件的角度去思考这道题。
解法很简单,直接把下载的jpg图片后缀,改成rar后缀,再用解压软件打开,就能看到这第四部分碎片了:
打开里面的4.png:
拿到这一部分口令:
长太息以掩涕兮,哀民生之多艰
这一句还是出自 《离骚》,这一名篇真是藏了太多经典诗句了!这一次我加了一个“四”并再一次换了顺序,放到了末尾。
至于我是怎么做到把一张图压缩到另一张图的,可以参考下下面这篇文章:
第五部分
最后这第五部分,应该是难倒不少英雄汉的关卡,通关密语在于破解图中这条河流的名字:
不少人都看到了图中的“中国建筑八局”:
然后你去地图上搜索“中国建筑八局”,会发现全国有太多叫这个名字的地方,然后就不知道怎么继续下去了。
其实图中除了这几个字,还有其他能帮助我们定位的线索。
首先注意太阳,可以看到太阳高度很低,说明照片的拍摄时间,要么是早晨,要么是黄昏。
再看下面的河流,一眼望去没有拐弯,是一条直线,而且这条直线直接通向了太阳的方向,所以可以得出结论:这是一条大致沿东西走向的直线河流。
进一步看,图中可以明确看出地点远离市区,所以市中心的地点就不用考虑了。
如果再进一步看河中的船,你会发现船的吃水很深(这一点怪我,图片传到微信公众号后清晰度有所下降),不是普通的客船,而是航运类的运输船,可以大胆猜测这条河联通了大江大河甚至大海,普通的小河小渠是不会有这种船的。所以所在的城市可能是位于大江大河附近或者沿海地带。
其实有这些信息,已经差不多了,可以在地图上进行筛选过滤了。
当然如果你想偷懒,去五分钟学算法的公众号拿到了线索:上海,则可以进一步帮你快速过滤无效信息。
我看到好多人问我是不是黄浦江,是啊,上海有个黄浦江,基本上所有人都知道,但黄浦江没有这么直,也比这宽多了,所以肯定不是黄浦江。
打开百度地图,定位到上海,搜索“中国建筑八局”,接着再结合笔直的东西走向的河流,很快你就能找到真相:
那就是位于上海浦东新区的川杨河。
这张照片拍摄于2017年的2月底,那时候还在浦东的金科路一带工作。那天周末和女朋友一起去那附近的一个羽毛球场运动了一下午,傍晚回家的时候经过那座桥,金色的夕阳洒了过来,特别的美。那时已经当了两年的沪漂,马上就要回成都,离开生活了两年的城市还是有些不舍,一时感慨万千,拍下了这张照片。
拼图
好了,终于凑齐了五块拼图,现在在PPT上拼出来:
扫码得到最终的暗号:
所以,看到暗号,你懂我意思吧?
今年端午的活动到此就全部结束了,咱们不久后的中秋节再会,关注这个公众号,一起学解密技术哦~