开始前的小准备
upload-labs靶场 是PHP环境运行的,所以我准备了一个PHP脚本和一张图片 图片好准备,PHP脚本如果不想写的话可以用我的这个获取当前时间的PHP脚本
<?php
header("content-type:text/html;charset=utf-8");
date_default_timezone_set("PRC");
echo "当前时间为:";
$today = date("Y-m-d D h:i:s A ");
echo $today;
?>
图片默认不清楚放大看!!!
Pass-01
 点击提示可以看到,Pass-01它是用的前端js 校验的,这是非常不安全的校验,最好是前后端都校验
方法思路:
方法一:
可以禁用浏览器的js 脚本功能(不推荐),可以会影响其他正常的js 功能
方法二:
查看源代码,复制源代码删除js 文件校验部分,在本地运行即可
通关步骤:
我用的是方法二,先查看源代码复制到本地  找到js 过滤代码,将其删除  因为是本地,当点击按钮的时候<form> 标签需要请求地址,找到<form> 更改其中的 action 属性(如果没有就加一个) 找到这个地址也简单,F12 打开审查元素 用正常方式上传功能就可以看到上传地址,看代码得知发送请求使用的是 post 请求,就找到post 请求那个就能找到上传地址  然后就可以在本地上传写好的PHP脚本了,上传的时候没有出现校验提示说明上传成功了 
upload-labs 这个靶场上传的文件是放在 WWW 目录下的 upload文件夹下面,为了验证上传PHP脚本是否成功,执行上传的脚本  成功执行了PHP脚本,Pass-01通关结束!!!
|