首页 > 其他分享 >文件下载中的目录遍历漏洞与解决

文件下载中的目录遍历漏洞与解决

时间:2024-04-03 14:55:06浏览次数:29  
标签:文件 遍历 web 漏洞 chroot tf8Filename 目录 下载

安全组觉得我们文件下载不够安全。给了份修复方案

1、净化数据:对用户传过来的文件名参数进行硬编码或统一编码,对文件类型进行白名单控制,对包含恶意字符或者空字符的参数进行拒绝。

2、web应用程序可以使用chroot环境包含被访问的web目录,或者使用绝对路径+参数来访问文件目录,时使其即使越权也在访问目录之内。www目录就是一个chroot应用. 由chroot创造出的那个根目录,叫做“chroot监狱”(所谓"监狱"就是指通过chroot机制来更改某个进程所能看到的根目录,即将某进程限制在指定目录中,保证该进程只能对该目录及其子目录的文件有所动作,从而保证整个服务器的安全,详细具体chroot的用法,可参考:http://blog.csdn.net/frozen_fish/article/details/2244870

3、任意文件下载漏洞也有可能是web所采用的中间件的版本低而导致问题的产生,例如ibm的websphere的任意文件下载漏洞,需更新其中间件的版本可修复。

4、要下载的文件地址保存至数据库中。

5、文件路径保存至数据库,让用户提交文件对应ID下载文件。

6、用户下载文件之前需要进行权限判断。

7、文件放在web无法直接访问的目录下。

8、不允许提供目录遍历服务。

9、公开文件可放置在web应用程序下载目录中通过链接进行下载。

简单来说:
解决方案一,
将文件路径存在数据库中,每次下载时传输文件id,通过数据库存储的文件权限判断用户有无下载权限。
然后通过文件id获取具体的文件路径进行下载。

解决方案二,
先对文件名utf-8编码,检查特殊字符,校验用户权限
String tf8Filename = null;
try {
tf8Filename = URLEncoder.encode(fileName, "UTF-8");
} catch (UnsupportedEncodingException e) {
throw new AppException("文件名编码异常");
}
Pattern pattern = Pattern.compile("\.\.|[\\/

标签:文件,遍历,web,漏洞,chroot,tf8Filename,目录,下载
From: https://www.cnblogs.com/BlackAndBrown/p/18112701

相关文章

  • linux sudo漏洞 可导致用户以 root 权限运行命令
    Sudo的全称是“superuserdo”,它是Linux系统管理指令,允许用户在不需要切换环境的前提下以其它用户的权限运行应用程序或命令,通常是以root用户身份运行命令,以减少root用户的登录和管理时间,同时提高安全性。该漏洞是sudo安全策略绕过问题,可导致恶意用户或程序在目标Linux系统......
  • 在静态页中,js和css使用虚拟路径指向网站根目录
    第一步:修改web.config<configuration><system.webServer><handlers><addname="x"verb="GET"path="*.css.ashx"type="FileResolver"/><addname="xx"verb=&quo......
  • 前端学习代码目录存放
    博客园主题更换:https://www.cnblogs.com/CryFace/p/13508216.html安利几款好看的博客园主题https://www.cnblogs.com/CryFace/p/13508216.html-learn是我自己上网课学习的demo代码目录hw1的end是第一次作业的代码(完成版本的)kingsoftdemo是练习写第一次作业的过程emygit......
  • 代码随想录算法训练营第14天 | 二叉树 | 二叉树的遍历 | 迭代遍历 |统一风格的迭代(待
    理论基础二叉树的存储方式:可以链式也可以顺序用数组顺序存储二叉树的遍历递归遍历递归算法三要素确定递归函数的参数和返回值确定终止条件确定单层递归的逻辑风格不统一的迭代遍历(前后和中序的不同)前序遍历(根左右)//递归版voidtraversal(TreeNode*......
  • 代码随想录算法训练营DAY14|C++二叉树Part.1|二叉树的递归遍历、二叉树的迭代遍历、二
    文章目录二叉树的递归遍历思路CPP代码二叉树的迭代遍历思路前序遍历后序遍历后序遍历二叉树的统一迭代法二叉树的递归遍历144.二叉树的前序遍历、145.二叉树的后序遍历、94.二叉树的中序遍历文章讲解:二叉树的递归遍历视频讲解:每次写递归都要靠直觉?这次带你学......
  • XSS漏洞利用
    反射型(非持续型)存储型(持续性)DOM型XSS漏洞挖掘与绕过XSS原理xss又叫(css)跨站脚本攻击。因为与html中css样式同,所以称为xss。属于web应用中计算机安全漏洞,是恶意的web访问者将脚本植入到提供用户使用的页面中,通常是使用JS编写的危险代码,当用户使用浏览器访问页面时,脚......
  • 业务逻辑支付漏洞
    支付原理支付漏洞原理支付漏洞绕过思路支付原理在业务安全方面,支付原理主要涉及到支付过程中的身份验证就、风险控制和交易保障等方面。具体来说,支付机构通常会采用多种手段来确保支付过程的安全性身份验证:支付机构会对买家和卖家的身验证,以确保只有合法的用户才能进......
  • 14天【代码随想录算法训练营34期】 第六章 二叉树part01(● 理论基础 ● 递归遍历 ●
    理论基础种类满二叉树:k是深度,node数为2^k-1完全二叉树:二叉树底部是从左向右持续的二叉搜索树:左边节点都小于中间节点,右边节点都大于中间节点平衡二叉树AVL:左边和右边高度相差不超过1存储方式链式存储:leftchildptr,rightchildptr线式存储:字符数组保存,2i+1是左孩......
  • 【漏洞复现】用友U8-Cloud FileServlet接口存在任意文件读取漏洞
    免责声明:文章来源互联网收集整理,文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者......
  • 中国联通提供漏洞扫描服务有哪些优势
    产品优势1.强大的漏洞管理平台:Tenable.SC中国联通选择与业界权威的Tenable合作,引入其旗舰产品Tenable.SC作为漏洞管理核心平台。Tenable.SC以其卓越的性能和市场领先地位,赢得了监管机构的广泛认可,被誉为扫描速度最快、扫描准确率最高的产品。在Gartner连续多年的报告中,Tenable......