欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

2020程序员节首届哔哩哔哩安全挑战赛

程序员文章站 2022-05-15 14:09:12
...

第一题
查看源码,定位对应元素,看到flag1的value
2020程序员节首届哔哩哔哩安全挑战赛
第二题

既然说了需要用bilibili Security Browser访问,那么我们改一下UA头

这里我直接把这个浏览器加到了原来的ua头之后,试了好几次都不行

后来才意识到要把其他都删掉

这里我们用bp或者f12都可以改
2020程序员节首届哔哩哔哩安全挑战赛

第三题

纯属巧合,正经做法我还没想到

name:admin
pwd:bilibili
2020程序员节首届哔哩哔哩安全挑战赛
第四题

2020程序员节首届哔哩哔哩安全挑战赛
显示权限不足

这里我们想到cookie

查看了一下,发现有一个role

看起来像md5
我们解密一下
发现是user

2020程序员节首届哔哩哔哩安全挑战赛
那么我们改成Administrator的md5

注意A要大写
2020程序员节首届哔哩哔哩安全挑战赛

第五题
2020程序员节首届哔哩哔哩安全挑战赛
这里我们看到一个接口
那么用python跑一下

import requests

session=''#这里是你的session
def get_5():  
    headers = {  
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0',  
        'Cookie': 'session=' + session + '; role=ee11cbb19052e40b07aac0ca060c23ee',  
        'Referer': 'http://45.113.201.36/user.html'  
    }  
    for i in range(100336850, 999999999):  
        response = requests.get('http://45.113.201.36/api/ctf/5?uid=' + str(i), headers=headers).json() #100336973  
        if response['data'] != '':  
            print('第5题答案是:', response['data'])  

get_5()

跑出flag

第六题
2020程序员节首届哔哩哔哩安全挑战赛
看到有评论本来以为是xss
发现并不是

我们扫描后台

2020程序员节首届哔哩哔哩安全挑战赛
2020程序员节首届哔哩哔哩安全挑战赛

Unicode转文字
2020程序员节首届哔哩哔哩安全挑战赛
GitHub搜索
发现好多干扰项哈哈哈哈哈哈

2020程序员节首届哔哩哔哩安全挑战赛

2020程序员节首届哔哩哔哩安全挑战赛

  
<?php

//filename end.php

$bilibili = "bilibili1024havefun";

$str = intval($_GET['id']);
$reg = preg_match('/\d/is', $_GET['id']);

if(!is_numeric($_GET['id']) and $reg !== 1 and $str === 1){
	$content = file_get_contents($_GET['url']);
	
	//文件路径猜解
	if (false){
		echo "还差一点点啦~";
	}else{
		echo $flag;
	}
}else{
	echo "你想要的不在这儿~";
}
?>