当前位置: 首页 > news >正文

文件上传漏洞攻击

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

攻击者利用程序缺陷绕过系统对文件的验证与处理策略将恶意代码上传到服务器并获得执行服务器端命令的能力。

常用的攻击手段有

  • 上传Web脚本代码,Web容器解释执行上传的恶意脚本;
  • 上传Flash跨域策略文件crossdomain.xml,修改访问权限(其他策略文件利用方式类似);
  • 上传病毒、木马文件,诱骗用户和管理员下载执行;
  • 上传包含脚本的图片,某些浏览器的低级版本会执行该脚本,用于钓鱼和欺诈。

总的来说,利用的上传文件要么具备可执行能力(恶意代码),要么具备影响服务器行为的能力(配置文件)。

防范方法

  • 文件上传的目录设置为不可执行
  • 判断文件类型,设置白名单。
    • 对于图片的处理,可以使用压缩函数或者resize函数,在处理图片的同时破坏图片中可能包含的HTML代码;
  • 使用随机数改写文件名和文件路径
    • 一个是上传后无法访问
    • 再来就是像shell、.php 、.rar和crossdomain.xml这种文件,都将因为重命名而无法攻击
  • 单独设置文件服务器的域名
    • 由于浏览器同源策略的关系,一系列客户端攻击将失效,比如上传crossdomain.xml、上传包含Javascript的XSS利用等问题将得到解决。

转载于:https://my.oschina.net/u/616147/blog/1793845

相关文章:

  • Micropython TPYBoard V10X拼插编程实践之定时器 代码不精通?...
  • 从抖音关闭评论,看服务治理的重要性
  • diango-团队介绍
  • ModeBusRtu概述
  • Project中最常用的注意点
  • 云时代,ERP选型莫走入低价、免费误区
  • 以太坊智能合约开发第六篇:truffle开发框架
  • CSS居中完全指南——构建CSS居中决策树
  • 悲观的并发策略——synchronized互斥锁
  • 一步一步构建自己的管理系统之 ------登入注册
  • 64位linux安装wine等软件
  • javascript 日期函数
  • spring IOC AOP实现原理
  • Python数据挖掘与机器学习技术入门实战
  • 万达酒店及度假村首创微信智能开票辅助功能
  • download使用浅析
  • Gradle 5.0 正式版发布
  • Linux Process Manage
  • Spring声明式事务管理之一:五大属性分析
  • Travix是如何部署应用程序到Kubernetes上的
  • ViewService——一种保证客户端与服务端同步的方法
  • vue自定义指令实现v-tap插件
  • 创建一个Struts2项目maven 方式
  • 力扣(LeetCode)22
  • 码农张的Bug人生 - 初来乍到
  • 前端面试总结(at, md)
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 我的zsh配置, 2019最新方案
  • 正则与JS中的正则
  • 自动记录MySQL慢查询快照脚本
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • Android开发者必备:推荐一款助力开发的开源APP
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • # Maven错误Error executing Maven
  • #Z2294. 打印树的直径
  • $jQuery 重写Alert样式方法
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (vue)页面文件上传获取:action地址
  • (第二周)效能测试
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)Scala的“=”符号简介
  • (转载)OpenStack Hacker养成指南
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .NET连接MongoDB数据库实例教程
  • .net中生成excel后调整宽度
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(白虎组)
  • [ linux ] linux 命令英文全称及解释
  • [17]JAVAEE-HTTP协议