校赛 6.1

Misc

贝斯兔子

先base58解密,在rot47解密

社工

Web

signin

检查网页源代码就行

Ezphp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php 
highlight_file(__FILE__);
error_log(0);
include('flag.php');
if(isset($_GET['num'])){
$num = $_GET['num'];
if(!preg_match('/0/', $num)){
if($num==="4476"){
die("no no no!");
}
if(intval($num,0)===4476){
echo $flag;
}
}
}
?>

因为 intval 在处理以 0x 开头的字符串时会将其解释为十六进制数,所以可以通过传递 0x117c(十六进制的 4476)来绕过 $num===”4476” 的检查,同时使 intval($num, 0)===4476 成立,从而输出 $flag。

可以通过构造 URL http://10.21.16.70:8903//?num=0x117c 来利用这个漏洞,绕过类型和内容的检查,并获取 $flag 变量的内容。

但是本题目会筛选数字字符串的‘0’,而0x包含所以采用另外的方法

当某个数字被过滤时,可以给它增加小数位来绕过

Re

安卓签到

放入jad,找到main函数,发现是个base64加密,进行解密后得到flag

maze

先查壳

放入ida32反编译

查看字符串,发现两串可疑的迷宫数据

shift e导出字符串,然后手搓形成迷宫(不会py脚本)

然后MD5解密即可,两个都试一下

pyd

放入ida打开pyd,找到被变过的表


校赛 6.1
http://example.com/2024/06/10/6.1 校赛/
Author
chaye
Posted on
June 10, 2024
Licensed under