“复兴杯”2023第四届大学生网络安全精英赛排位赛 Writeup

时间跟全国信安初赛重了(),不过也是第一次在CTF AK了(

个人信息

个人排名:15

解题过程

1

观察代码,使用科学技术法进行绕过,2.023e3也就是2.023*10^3=2023,弱比较时会化为2023,但是运算时后并不绝对等于2024。

输入得到flag。

2

打开网站可以看到电脑账号是ly,使用过滤器得到包含ly的包,如图:


跟踪流,可以看到telent的流量,得到密码:

3

观察代码,同样使用第一题的科学计数法,输入1e10大于500000,得到flag

4

观察代码,是要输入多个get参数,每个参数只能包含一字节,最终拼接得到“大佬受我一拜”,先用php将这段中文字符串拆分成多字节的形式:

<?php
$aa = "大佬受我一拜";
echo bin2hex($aa);

再用代码转换成get参数的形式:

int main()
{
	char a[] = "e5a4a7e4bdace58f97e68891e4b880e68b9c";
	for(int i=0;i<36;i++)
	{
		if(!(i%2)) cout << "&" << i/2 << "=%";
		cout << a[i];
	}
	return 0;
}

放入链接后,得到flag:

5

根据题意,构建如图所示木马:

上传得到flag:

6

根据题目,可以看到save_path可以用来做文章,在php5.2可以用%00进行截断,所以我们可以将1.php%00写到save_path中,使服务端忽略后面的rand等文件名。

用burp抓包,修改save_path,如图所示:

放行得到flag:

热门相关:新建文件夹2   天才少年之密室逃脱   山那边   我朋友的妻子:我可以摸一下吗?   大胸儿媳妇