BUUCTF [b01lers2020]Welcome to Earth

[b01lers2020]Welcome to Earth

image-20240129150044781

查看网页源代码:

image-20240129150131509

没有发现有用信息,但是网页的网址上出现/die/,猜测是进行了跳转,我们直接访问http://338a8f82-3c56-43a6-ba8e-a8c56b8f2b4f.node5.buuoj.cn:81/,并抓包:
image-20240129150309168

发现存在一个/chase/,访问一下:

image-20240129150349909

响应中发现了/leftt/,访问一下:

image-20240129150431580

发现响应中有/shoot/,访问一下:

image-20240129150512943

发现响应中存在/door/,访问一下:

image-20240129150557791

没有信息了,查看一下/static/js/door.js:

image-20240129150649703

发现存在一个/open/,访问一下:

image-20240129150721045

访问一下/static/js/open_sesame.js:

image-20240129150818071

发现存在一个/fight/,访问一下:

image-20240129150857830

访问一下fight.js:

image-20240129150940013

发现flag相关信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function scramble(flag, key) {
// 根据key的值和长度重新排列flag数组,从而获得flag
for (var i = 0; i < key.length; i++) {
let n = key.charCodeAt(i) % flag.length;
let temp = flag[i];
flag[i] = flag[n];
flag[n] = temp;
}
return flag;
}

function check_action() {
// 获取id=action的输入框中的值,即我们输入的值
var action = document.getElementById("action").value;
// 被打乱的flag数组
var flag = ["{hey", "_boy", "aaaa", "s_im", "ck!}", "_baa", "aaaa", "pctf"];
var result = unscramble(flag, action);
document.getElementById("output").innerText = result;
}

使用脚本复原flag:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from itertools import permutations
flag = ["{hey", "_boy", "aaaa", "s_im", "ck!}", "_baa", "aaaa", "pctf"]
# 一般比赛的flag都会是xxx比赛{}
# 所以猜测最终flag的格式为pctf{}
# 重新对flag进行编排顺序输出pctf{}

# 获取对flag列表所有组合排列的结果,返回一个迭代器
item = permutations(flag)
# print(item)
# 遍历item中所有的排列组合
for i in item:
# 将每个排列组合转化为list列表后,将list列表中的每个元素中间以''的方式连接在一起,形成整个字符串赋值给k
k = ''.join(list(i))
# 判断字符串k是否以pctf{hey_boys开头,结尾是否以}结尾
if k.startswith('pctf{hey_boys') and k[-1] == '}':
print(k)

输出:

1
2
3
4
5
6
pctf{hey_boys_imaaaa_baaaaaack!}
pctf{hey_boys_imaaaaaaaa_baack!}
pctf{hey_boys_im_baaaaaaaaaack!}
pctf{hey_boys_im_baaaaaaaaaack!}
pctf{hey_boys_imaaaaaaaa_baack!}
pctf{hey_boys_imaaaa_baaaaaack!}

最终测试得到flag=pctf{hey_boys_im_baaaaaaaaaack!}


BUUCTF [b01lers2020]Welcome to Earth
http://example.com/2024/02/03/2024-2-3-Welcome to Earth/
作者
South
发布于
2024年2月3日
许可协议