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
2
3
4
5
6
7
8
9
10
11
12
var uid = $.getUrlParam('uid');
            if (uid == null) {
                uid = 100336889;
            }
            $.ajax({
                url: "api/ctf/5?uid=" + uid,
                type: "get",
success:function (data) {
console.log(data);
if (data.code == 200){
// 如果有值:前端跳转
$('#flag').html("欢迎超级管理员登陆~flag : " + data.data )

flag5接口是 api/ctf/5?uid=
role依旧为 7b7bc2512ee1fedcd76bdc68926d4f7b

意思应该是要从100336889开始爆破,我爆到的是100336919

图片

图片

flag5{f6c5ee82-af7a41b6-6f9314be-8625059a}

第五关 结束亦是开始

图片

图片

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

图片

图片

wfuzz一下文件

图片

图片

访问 /blog/test.php,得到一大段jsfuck

放到console输出

图片

图片

1
2
3
4
var str1 = "\u7a0b\u5e8f\u5458\u6700\u591a\u7684\u5730\u65b9";
//程序员最多的地方
var str2 = "bilibili1024havefun";
console.log()

在github上搜索相关信息,找到end.php的源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
//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