https://security.bilibili.com/sec1024/
第一关 页面的背后是什么?

图片
查看源码有flag1和flag2的接口
flag1接口是 api/admin
访问就有flag

图片
flag1{fe0cf087-8c3447bb-92c9cbca-1793c4cb}
flag2接口是 /api/ctf/2 ,采用get传参
修改UA:bilibili Security Browser

图片
flag2{b8138188-0c16d0d5-7235c383-418dd144}
第二关 真正的秘密只有特殊的设备才能看到

图片
flag3接口是api/ctf/3
管理员 admin
密码盲猜弱口令 bilibili

图片
flag3{cddb6186-4bdd52ea-0623764d-99f9b62f}
第三关 对不起,权限不足~

图片
flag4接口是api/ctf/4
只有window才有超级管理员的说法,即Administrator
抓包发现Cookie里有role变量,是个32位字符串,估计经过md5加密

图片
将Administrator加密后传入 7b7bc2512ee1fedcd76bdc68926d4f7b

图片
flag4{b5112a88-bb60c9e7-99935a1c-052fcc2e}
第四关别人的秘密

图片
查看源码,提取关键信息
1 | var uid = $.getUrlParam('uid'); |
flag5接口是 api/ctf/5?uid=
role依旧为 7b7bc2512ee1fedcd76bdc68926d4f7b
意思应该是要从100336889开始爆破,我爆到的是100336919

图片
flag5{f6c5ee82-af7a41b6-6f9314be-8625059a}
第五关 结束亦是开始

图片
根据题目意思访问 /blog/end.php

图片
wfuzz一下文件

图片
访问 /blog/test.php,得到一大段jsfuck
放到console输出

图片
1 | var str1 = "\u7a0b\u5e8f\u5458\u6700\u591a\u7684\u5730\u65b9"; |
在github上搜索相关信息,找到end.php的源码1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//filename end.php
$bilibili = "bilibili1024havefun";
$str = intval($_GET['id']);
$reg = preg_match('/\d/is', $_GET['id']);
if(!is_numeric($_GET['id']) and $reg !== 1 and $str === 1){
$content = file_get_contents($_GET['url']);
//文件路径猜解
if (false){
echo "还差一点点啦~";
}else{
echo $flag;
}
}else{
echo "你想要的不在这儿~";
}
根据逻辑用数组绕过,即 id[]=1
flag6接口是 api/ctf/6
猜测为flag.txt

图片
访问图片地址/imgs/bilibili_224a634752448def6c0ec064e49fe797_havefun.jpg

图片
用winhex打开,结尾有flag10?

图片
后面试了试url的参数接口可以是任意1-10数,flag.txt都在接口目录下
flag10{2ebd3b08-47ffc478-b49a5f9d-f6099d65}
接下来的旅程 需要少年自己去探索啦~
后面因为我是打完Byte和护网杯才来看的Bilibili,没多少时间做,开了个头就当有个参与感了
别的题的思路见知乎或Github