Bilibili 1024 Sec Writeup

本文最后更新于:2021年4月15日 下午

电波系的脑洞题,不过说实话,如果服务器不崩,我觉得还挺有趣的

Bilibili 1024 Sec Writeup

第一题

  • 题目描述:页面的背后是什么?
  • 关键源代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<script>
$.ajax({
url: "api/admin",
type: "get",
success:function (data) {
//console.log(data);
if (data.code == 200){
// 如果有值:前端跳转
var input = document.getElementById("flag1");
input.value = String(data.data);
} else {
// 如果没值
$('#flag1').html("接口异常,请稍后再试~");
}
}
})
</script>
  • 解法:F12 打开网络,请求 ”admin“,得到响应 data: 0f6c8956-c668732a-4929b929-d60647f9

第二题

  • 题目描述:真正的秘密只有特殊的设备才能看到
  • 关键源代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script>
$.ajax({
url: "api/ctf/2",
type: "get",
success:function (data) {
//console.log(data);
if (data.code == 200){
// 如果有值:前端跳转
$('#flag2').html("flag2: " + data.data);
} else {
// 如果没值
$('#flag2').html("需要使用bilibili Security Browser浏览器访问~");
}
}
})
</script>
  • 解法:F12 打开网络,请求 ”2“,修改 User-Agent 为 bilibili Security Browser,得到响应 data: 6bd2cd47-c8fc0a5d-37a180c8-011cfaa6

第三题

  • 题目描述:密码是啥?
  • 关键源代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<script>
//falg 3

$("#submit").click(function(){

$.ajax({
url: "api/ctf/3",
type: "post",
contentType: "application/json",
dataType:"json",
data: JSON.stringify({
username: $("#name").val(),
passwd: $("#subject").val(),
}),
success:function (data) {
if (data.code == 200){
alert("flag is: " + data.data);
} else {
alert("用户名或密码错误~");
}
}
})
});
</script>
  • 解法:利用 Burp Suite 的 Intruder 模块尝试对用户名为 admin 的密码进行弱口令爆破,结果用常见密码字典没爆破出来。然后听大佬建议社会工程学猜一个——我猜 bilibili,弹出 flag is: 4531ef52-247d0bab-77c67e8c-dee22717

第四题

  • 题目描述:对不起,权限不足~
  • 关键源代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<script>

$.ajax({
url: "api/ctf/4",
type: "get",
success:function (data) {
console.log(data);
if (data.code == 200){
// 如果有值:前端跳转
$('#flag').html("欢迎超级管理员登陆~答案是 : {{ " + data.data + " }}".toLowerCase() )
} else {
// 如果没值
$('#flag').html("有些秘密只有超级管理员才能看见哦~")
}
}
})
</script>
  • 解法:F12 打开网络,请求“4”,发现 Cookie 中 role=ee11cbb19052e40b07aac0ca060c23ee,查询 md5 值得知其为 ”user“。修改 role=md5(“Administrator”)=7b7bc2512ee1fedcd76bdc68926d4f7b,响应得到 data: 30612865-67a312b9-8450847f-04b9ae91

第五题

  • 题目描述:别人的秘密

  • 关键源代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<script>
$(function () {
(function ($) {
$.getUrlParam = function(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
}
})(jQuery);

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 )
} else {
// 如果没值
$('#flag').html("这里没有你想要的答案~")
}
}
})
});
</script>
  • 解法:利用 Burp Suite 的 Intruder 模块尝试从 100336889 开始对 uid 进行爆破,当 uid 为100336901 时,得到 data: f0cb15a4-587bf6b2-8ce363e2-65fce3ba

第六题

  • 题目描述:结束亦是开始

  • 网页给人打崩了,所以使用上一个被打崩的 ip 120.92.151.189,太惨烈了

  • 解法:御剑扫描得到 http://120.92.151.189/blog/test.php,发现是 jsfuck,在 console 里面使用 console.log(…),其中 … 是jsfuck 的值,得到

    1
    2
    var str1 = "\u7a0b\u5e8f\u5458\u6700\u591a\u7684\u5730\u65b9";
    var str2 = "bilibili1024havefun";

    unicode 解码 str1 得到 “程序员最多的地方”……Github 上去搜索吧,下面跳跃到第十题。

第七题

第八题

  • 拿轻工具 CryptionTool 端口扫描之前的 ip,发现 6379 端口打开了,用 redis 连接

  • 服务器很卡,很容易就掉线了,根据其他博主的wp,接下来用 key* 查询所有键值,然后 get flag8 即可。

第九题

第十题

  • 解法:用 Winhex 打开,发现最后面藏有 {flag10:2ebd3b08-47ffc478-b49a5f9d-f6099d65}

    • 没想到有隐写,感动 🤣

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!