一个国外的CTF站点,听群里的师傅说有很多模拟的内网环境,所以想上去试试水。

这个站点是注册是需要邀请码的,这里是一个简单的题目。

F12审核元素,可以看到/js/inviteapi.min.js得到一串javascript混淆之后的代码,解密得到

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
31
function verifyInviteCode(code) {
var formData = {
"code": code
};
$.ajax({
type: "POST",
dataType: "json",
data: formData,
url: '/api/invite/verify',
success: function(response) {
console.log(response)
},
error: function(response) {
console.log(response)
}
})
}

function makeInviteCode() {
$.ajax({
type: "POST",
dataType: "json",
url: '/api/invite/how/to/generate',
success: function(response) {
console.log(response)
},
error: function(response) {
console.log(response)
}
})
}

这里定义了两个函数makeInviteCode()verifyInviteCode(code)

利用控制台调用makeInviteCode()得到base64密文

解密得到 In order to generate the invite code, make a POST request to /api/invite/generate

用POST请求/api/invite/generate

burp构造一个POST请求

解密得到邀请码。另外在注册的时候发现,不扶墙是不能得到验证码的。但是扶墙之后,会发现得到的验证码跟代理IP的不匹配。

所以在做题的时候直接扶墙做题。