首先打开场景,上传文件进行抓包操做,发现存在部分js代码。
php
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文件:
访问上传的文件可以被打开:
web
可是访问http://111.198.29.45:59162/upload/显示页面访问是被禁止的
使用IP伪造:
尝试失败服务器
尝试一句话木马:<?php @eval($_POST['chopper']);?>
上传成功可是使用菜刀没法链接svg
尝试失败,我好难啊
函数
其实以前使用中国菜刀没毛病的本身没有修改上传的文件的后缀致使文件上传上去为jpg格式能够链接
后缀名成不正确是没法执行对应的语句的,因此须要绕过前端的文件后缀检查
经过burp抓包,将后缀名称修改成php便可
文件文件上传完毕,怎么链接呢?首先咱们应该知道对应上传文件在服务器的位置
系统自动生成了文件名,但其实是有迹可循的,是使用unix时间戳+文件名的形式
咱们刚开始上传的文件有一个反馈的文件名
根据1570000745.s.jpg 文件名称,咱们能够推测出修改文件后缀的文件名称经过加1的方式持续几回就能找到
终于找到了,能够开始使用中国菜刀进行链接啦!
#关于中国菜刀的,我提供了一个版本,须要的童鞋自取下载连接是
https://download.csdn.net/download/harry_c/11423598
啦啦啦,链接成功了
spa
最终咱们终于找到了flag.php文件
打开就是最终的flag
至此最终的flag为:cyberpeace{5424056c1c4d35b8fc267df74b70bdea}.net