“复兴杯”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: