商业网站 模板昆明网站建设创意
2026/6/11 7:28:46 网站建设 项目流程
商业网站 模板,昆明网站建设创意,个人网站名称大全,怎样推广app别人才愿意下载文件上传漏洞是 Web 安全中高频高危漏洞#xff0c;攻击者可通过上传恶意脚本#xff08;Webshell#xff09;控制服务器#xff0c;窃取或篡改数据。本文基于课程 PPT#xff0c;整理核心知识点、绕过技巧#xff0c;并补充防御方案#xff0c;适合入门学习与实战参考。…文件上传漏洞是 Web 安全中高频高危漏洞攻击者可通过上传恶意脚本Webshell控制服务器窃取或篡改数据。本文基于课程 PPT整理核心知识点、绕过技巧并补充防御方案适合入门学习与实战参考。一、核心概念速览1. 文件上传漏洞定义因服务器对上传文件的后缀、类型、内容等过滤机制不严导致攻击者可上传恶意脚本文件如 PHP、ASP 后门进而获取网站 / 服务器控制权的漏洞。2. 漏洞危害控制网站后台篡改页面内容读取、修改、删除服务器敏感数据通过提权漏洞获取主机 root / 管理员权限植入木马、挖矿程序沦为僵尸主机3. Webshell 核心知识Webshell 是伪装成网页文件的命令执行环境后门核心用于控制服务器类型特点示例一句话木马大马体积大、功能全、加密隐藏-小马体积小、仅核心功能如上传-一句话木马代码简洁、隐匿性强、可变形免杀PHP?php eval($_POST[pass]);?ASP%eval request(pass)%ASPX Page LanguageJscript%%eval(Request.Item[pass],unsafe);%4. 漏洞利用三要素木马上传成功未被杀知道木马的路径在哪上传的木马能正常运行解析二、文件上传核心检测流程三、经典绕过技巧大全1. 绕过客户端 JS 验证原理客户端通过 JS 脚本限制文件后缀如仅允许.jpg/.png未在服务端二次验证。绕过方法BurpSuite 篡改响应拦截服务器响应删除页面中checkFile()等 JS 验证函数浏览器审计工具F12 打开开发者工具删除表单onsubmitreturn checkFile()属性保存后上传直接上传恶意文件用 BurpSuite 拦截修改后缀适用于仅前端验证场景2. 绕过服务端 MIME-Type 验证原理服务端通过 HTTP 请求头Content-Type字段判断文件类型如图片为image/jpeg未验证文件真实内容。绕过步骤准备恶意文件如webshell.php内容为一句话木马BurpSuite 拦截上传请求找到Content-Type: application/octet-stream默认脚本文件类型修改为允许的类型如图片类型image/jpeg或image/png发送请求文件上传成功示例对比状态Content-Type 字段值上传结果未修改application/octet-stream上传失败修改后image/jpeg上传成功3. 绕过服务端黑名单验证原理黑名单限制禁止上传的后缀如.php/.asp但存在遗漏或可利用的解析特性。常用绕过方法绕过类型适用场景操作方法后缀名漏检黑名单未过滤.phtml/.php5 等上传webshell.phtml若服务器支持该后缀解析则成功.htaccess 文件Apache 服务器未过滤.htaccess1. 上传.htaccess 文件内容SetHandler application/x-httpd-php指定目录所有文件按 PHP 解析2. 上传1.jpg内容为?php phpinfo();?服务器会按 PHP 执行大小写绕过Windows 服务器大小写不敏感将webshell.php改为webshell.PhP绕过仅过滤小写.php 的黑名单空格 / 点绕过服务器未处理文件名特殊字符文件名改为webshell.php.末尾加英文点或webshell.php末尾加空格Windows 会自动去除::$DATA 绕过Windows 系统文件名改为webshell.php::$DATA服务器保存时会忽略::$DATA实际保存为webshell.php工具实操用 BurpSuite Intruder 模块枚举后缀名字典包含.php/.phtml/.php5/.jspx等寻找黑名单未过滤的可解析后缀。四、漏洞防御方案补充知识点文件上传漏洞防御需遵循 “多环节、纵深防御” 原则核心措施如下1. 前端防御辅助不可单独依赖限制文件大小、后缀仅允许必要类型如头像仅.jpg/.png提示用户上传合法文件增强用户认知2. 服务端核心防御1严格的后缀验证优先使用白名单仅允许.jpg/.png/.gif/.pdf等必要后缀拒绝黑名单过滤特殊字符去除文件名中的../、空格、点、::$DATA、大小写混合后缀统一文件名上传后重命名如uuid原始后缀避免路径泄露2文件类型双重验证验证Content-Type字段同时通过文件头检测真实类型如用exif_imagetype()函数验证图片禁止上传.htaccess、.user.ini等配置文件Apache/Nginx3存储与权限控制上传文件存储目录禁止执行权限如 Apache 配置php_flag engine off独立存储目录与网站业务目录分离避免脚本被解析限制文件大小防止上传超大文件占用服务器资源4安全工具防护部署 WAFWeb 应用防火墙拦截恶意文件上传开启杀毒软件 / 安全插件扫描上传文件中的木马定期更新服务器组件Apache/Nginx/PHP修复解析漏洞5日志与监控记录所有文件上传操作用户名、时间、文件名、路径监控异常文件访问如上传的图片被频繁访问且带有cmd/pass等参数五、常见错误修正PPT 补充说明PPT 中 “绕过黑名单验证” 代码示例存在重复后缀如.php多次出现实际黑名单应去重且需覆盖所有可解析后缀00 截断绕过需满足特定 PHP 版本条件5.3.4高版本已修复需注明适用场景.htaccess仅适用于 Apache 服务器Nginx 需通过user.ini等文件配置不可通用图片马制作时需确保文件头合法如GIF89a对应 GIF 图片否则会被内容检测拦截六、实战总结漏洞利用核心找到检测环节的 “薄弱点”如仅前端验证、未验证文件内容绕过思路“伪装合法”改后缀、改 MIME、嵌合法内容“利用特性”系统解析、配置文件防御核心“白名单优先”“多环节验证”“权限隔离”避免单一防御失效七、upload-labs-master靶场实践1-3关1.Pass-01发现无法上传php文件只让上传文件格式的文件把一句话木马文件后缀改为png上传然后抓包因为直接上传php文件他有弹窗抓不到包抓包之后找到上传的那张图片将后缀改为php然后放包发现.php文件上传成功了右键点击复制图形连接打开中国菜刀或者蚁剑等连接工具我这里以中国菜刀为列,右键点击添加填入复制的文件地址和一句话木马的密码点击添加。添加成功双击刚刚添加的那条记录即可打开查看文件信息。右键这条记录点击虚拟终端就可以进入这个系统的终端2.Pass-02为了方便直接写一个查看php版本信息的木马打开第二关开启bp抓包拦截上传刚刚创建那个1.png把1.png改为1.php放包后发现上传成功右键复制图片连接地址栏输入这个地址显示如下php版本信息就表示成功了3.Pass-03打开第三关点击查看源码可以看到有黑名单并且空格大小写空值点号等都被过滤了这个关卡其实就是寻找有没有其他类型的后缀格式也被识别为.php格式打开老版本的phpstudy服务器打开httpd-conf#去掉之后保存退出然后重启php服务器如果不重启会导致修改不生效依旧无法将phtml文件识别成php文件然后开启bp抓包上传1.png文件修改1.png后缀为1.phtml上传成功复制链接打开图片链接显示出php版本信息就表示成功了

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询