bilibili 1024程序员节 33的挑战状
就在这个1024程序员节的今天,bilibili主页的topImg变成了1024程序员节主题
点进去发现了很多有趣的东西,这里是链接:https://www.bilibili.com/blackboard/activity-20201024.html
其中第二项名称为来自33的挑战状
,进去发现似乎是一个解谜游戏。。
这个内容的鼻祖似乎是著名的蝉3301事件
在今年的6月份左右,b站上出现了一个up上传的解谜游戏视频:玩一次“程序员向”的互联网解谜游戏
在上次完全没有经验的情况下,我一项也没有通过
但是,这次的内容看了看似乎没有那么复杂,所以说我也决定挑战一番
那么,直接进入本番吧
第一题
题目
Title:页面的背后是什么?
题目地址: http://45.113.201.36/index.html
解题思路
进入到这个页面中之后,发现页面本身并没有什么特殊的线索
所以,我打开了控制台
然后一项一项地寻找
在控制台中找到了这样一项内容
1 | <input id="flag1" type="hidden" values="flag1" value="********-********-********-********"> |
果断推测这个便是第一道题的答案
回到提交答案的页面:https://security.bilibili.com/sec1024/
在题目ID
位置写上题号1
,在获取的flag
位置写上上边获得的value,便成功啦
第二题
题目
Title:真正的秘密只有特殊的设备才能看到
题目地址: http://45.113.201.36/index.html
解题思路
进入到题目地址后,发现仍然是刚刚那个页面,那么说明这个页面似乎还有一些没有察觉到的线索
然后我发现代码中有一部分被注释下来了,并且名叫bg.png
的文件没有加载出来
并且在js代码中发现了部分的ajax请求代码
尝试使用api获取图片,无果,直接访问api获取代码,无果
在经过很久的尝试之后,我突然发现我似乎忽略了题目名称
这一线索
于是我开始尝试使用F12的不同设备进行尝试,页面依然无法显示
那就是说还有缺失的线索
在页面中,分析代码部分,flag2
的位置明确写着了:需要使用bilibili Security Browser浏览器访问~
我最开始真的以为bilibili出浏览器了
google了一下之后发现并没有,于是我想到了一个叫做User Agent(用户代理)的东西
这个一般是作为浏览器标头请求页面时候传递给服务器的
如果可以模拟一下这个,是不是就可以了呢
抱着试一试的心态,在chrome中加了一个自定义的设备,User Agent位置填写的就是bilibili Security Browser
刷新页面,果然,代码被自动请求了出来,直接复制粘贴过去就可以了。
第三题
题目
Title:密码是啥?
题目地址: http://45.113.201.36/login.html
解题思路
进入到题目地址后,发现是一个登陆页面
首先来说是管理员账户登录,那么用户名大概应该可能是admin
然后就是密码的问题。。一个一个实验肯定是不太现实
那么就只能是想比较有可能的密码
程序员会用什么密码? bilibili干杯?administrator?root?sudo?
想不出来。。那就只能和bilibili有关了hhhhhh
试了下bilibili
嗯!
username:admin
passwd:bilibili
第四题
题目
Title:对不起,权限不足~
题目地址: http://45.113.201.36/superadmin.html
解题思路
在js代码中,有着这样的ajax请求
1 | $.ajax({ |
也就是说需要在请求的时候让服务器认为我们是超级管理员
什么是超级管理员呢?
应该是Administrator
吧,并且应该不会直接是明文,那么大概率应该是MD5(因为我写的网站加密都会直接用MD5 ww
最后加密的结果就是:7b7bc2512ee1fedcd76bdc68926d4f7b
然后就要把这个结果告诉浏览器,怎么告诉呢?
自然是设置cookies了
打开开发者面板后,在控制台输入 document.cookies
看下返回的结果是什么
1 | _ga=GA1.1.768336743.1603526873; _gid=GA1.1.1116535084.1603526873; role=a" |
前两个无关紧要,那么最可疑的就是最后一个role
那么就对这个下手,在控制台输入下面代码
1 | document.cookies="role=7b7bc2512ee1fedcd76bdc68926d4f7b" |
回车,刷新页面
这个时候,页面上就会出现欢迎超级管理员登陆~答案是 : \{\{ ********-********-********-******** \}\}
了
我不写出来是因为这个每个人都不同,复制了也没有意义
第五题
题目
Title:别人的秘密
题目地址: http://45.113.201.36/user.html
解题思路
依然是进入开发者面板,发现如下js代码
1 | $(function () { |
那么这道题的方式应该就是直接向http://45.113.201.36/api/ctf/5?uid=
请求结果了
问题就是uid到底是什么
暴力破解呗
本着能不造轮子就不造轮子的精神,在github上搜BunnySakura搜到了如下代码
1 | import requests |
上边代码中需要改成自己的cookie
具体位置在开发者面板中的Network
,打开这个面板后刷新页面
在刷新出的请求下找到Name
为user.html
的内容,单击后右边有一项叫做cookie的内容,如图
然后把session和role两部分内容都复制下来粘贴到上边代码的cookie位置
然后运行程序,输出结果如下
1 | uid= 100336936 <re.Match object; span=(8, 11), match='200'> |
(我不写出来是因为这个每个人都不同,复制了也没有意义)
以上,后面的真的一点思路也没有了,上边的内容也有一部分是看直播中大佬弹幕提示做出来的hhhhhh
又一次让自己明白了我确实很菜
在服务器中住着的AKI娘会检测您的输入内容哦, 如果被判断为垃圾内容是看不到的呢!当然抹茶也会定期检查AKI娘的所作所为的!