发帖
 找回密码
 立即注册
搜索
0 0

分享 第三十课 樊子健

技术分享 1257 0 2025-6-4 15:46:46
文件上传漏洞(三)


防御/修复⽅案

对于上传的⽂件,验证程序要做严格验证,使⽤服务器端校验,⽽不能仅⽤前端javascript验证。
1.建议严格限制上传⽂件类型和上传⽂件名及后缀。
2.检查⽂件头和⽂件内容,对上传⽂件⽬录的运⾏权限进⾏严格限制。
3.及时排查、删除服务器⽊⻢⽂件。
4.上传⽂件的存储⽬录禁⽤执⾏权限
5.⽂件的后缀⽩名单,注意0x00截断攻击
6.不能有本地⽂件包含漏洞
7.及时修复web上的代码
8.升级web server
9.后端验证:采⽤服务端验证模式
10.后缀验证:基于⽩名单,⿊名单过滤
11.MIME验证:基于上传⾃带类型艰检测
12.内容检测:⽂件头,完整性检测
13.⾃带函数过滤
14.WAF防护软件:宝塔、云盾等


解析⽅案案例1-执⾏权限


⽂件上传后存储⽬录不给执⾏权限


演示源码采⽤⽆过滤上传源码演示


upload.html


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>⽂件上传</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 20px;
}
h1 {
text-align: center;
}
.upload-container {
max-width: 400px;
margin: 0 auto;
}
.upload-form {
border: 1px solid #ccc;
padding: 20px;
border-radius: 5px;
}
.form-group {
margin-bottom: 15px;
}
.form-group label {
display: block;
font-weight: bold;
}
.form-group input[type="file"] {
display: block;
width: 100%;
padding: 5px;
}
.form-group input[type="submit"] {
background-color: #4CAF50;
border: none;
color: white;
padding: 10px 20px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;


margin-top: 10px;
cursor: pointer;
border-radius: 5px;
}
</style>
</head>
<body>
<div class="upload-container">
<h1>⽂件上传</h1>
<div class="upload-form">
<form action="upload.php" method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="file">选择⽂件:</label>
<input type="file" name="file" id="file" />
</div>
<div class="form-group">
<input type="submit" value="上传" />
</div>
</form>
</div>
</div>
</body>
</html>




upload.php


<?php
//获取上传⽂件原始名称
$name = $_FILES['file']['name'];
//获取上传⽂件MIME类型
$type = $_FILES['file']['type'];
//获取上传⽂件字节单位⼤⼩
$size = $_FILES['file']['size'];
//获取上传的临时副本⽂件名
$tmp_name = $_FILES['file']['tmp_name'];
//获取上传时发⽣的错误代码
$error=$_FILES['name']['error'];
move_uploaded_file($tmp_name,'upload/'.$name);
echo '<script>alert("上传成功")</script>';


未开启⽬录权限前,可以正常上传php⽂件,并且可以成功解析和执⾏








WEB渗透测试工程师系统班250303
30节课作业
1. 实操课程内文件上传靶场案例
2.文件上传的防御方式有哪些?

1.建议严格限制上传⽂件类型和上传⽂件名及后缀。
2.检查⽂件头和⽂件内容,对上传⽂件⽬录的运⾏权限进⾏严格限制。
3.及时排查、删除服务器⽊⻢⽂件。
4.上传⽂件的存储⽬录禁⽤执⾏权限
5.⽂件的后缀⽩名单,注意0x00截断攻击
6.不能有本地⽂件包含漏洞
7.及时修复web上的代码
8.升级web server
9.后端验证:采⽤服务端验证模式
10.后缀验证:基于⽩名单,⿊名单过滤
11.MIME验证:基于上传⾃带类型艰检测
12.内容检测:⽂件头,完整性检测
13.⾃带函数过滤
14.WAF防护软件:宝塔、云盾等


──── 0人觉得很赞 ────
免责声明:
1、本论坛中所有用户发布的内容仅代表作者个人观点,与本网站立场无关,本站不对其真实性、完整性或观点承担任何责任。
2、本论坛所提供的全部信息与内容,不保证其准确性、完整性或时效性。因阅读或使用本站内容而产生的任何误导、损失或风险,本站概不承担任何连带或法律责任。
3、当国家司法、行政机关依照法定程序要求本论坛披露用户信息时,本站予以配合并因此免责。
4、因网络线路故障、技术问题、不可抗力或本站无法控制的其他原因导致的服务中断或暂停,本站不承担由此造成的任何直接或间接损失。
5、对于任何通过技术手段破坏、攻击本论坛系统或扰乱正常秩序的行为,本站有权采取包括但不限于限制账号、封禁账号、追究法律责任等措施。
您需要登录后才可以回帖 立即登录
高级模式
返回