十一、文件操作漏洞

文件操作漏洞

一、漏洞简述

文件操作是网站的核心功能之一,类似头像的上传修改,但是由于开发人员忽略了一些细节,导致攻击者可以利用这些细节通过文件操作网站本身的这个功能,从而实现网站任意文件上传、下载、包含、删除等漏洞

二、漏洞分类

1、文件包含漏洞

1、本地文件包含
2、远程文件包含

在php中通过相关函数include()、include_one()、require()、require_one(),包含模板文件,如何参数过滤不严格,尝试修改参数值为敏感文件路径,从而形成任意文件包含漏洞

include 引入文件的时候,如果碰到错误,会给出提示,并继续运行下边的代码。
require 引入文件的时候,如果碰到错误,会给出提示,并停止运行下边的代码。
include_once()、require_once()会在包含时先判断文件是否存在,已经包含过了,就不在包含,以达到节约资源,避免重复定义

2、文件下载漏洞

文件下载漏洞和文件读取漏洞差别不是很大,简单来讲,网站在文件下载或读取时,读取的参数filename直接在请求里传递,没有做严格过滤,参数可控,从而网站获取文件路径直接读取或下载形成此漏洞

文件读取相关函数
file_get_contents、highlight_file、fopen()等

3、文件上传漏洞

文件上传漏洞是比较经典的一种漏洞,是指攻击者利用系统对文件验证处理过滤的缺陷,将恶意的文件上传至网站服务器上进行利用

Php相关函数move_uploaded_file

过滤方式
1、前端过滤:文件名、content-type
2、后端过滤:黑名单、白名单

4、文件删除漏洞

文件删除漏洞常出现在文件管理功能的应用上,漏洞原理与文件读取或下载漏洞相似,差别在与相关函数不一样。

Php相关函数unlike

三、修复建议

1、白名单
2、随机文件名
3、避免目录跳转过滤危险字符
4、禁止访问敏感路径
5、开发时文件读取下载功能尽量避免用户输入参数的值,做好严格过滤
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值