位置: 编程技术 - 正文

你不知道的文件上传漏洞php代码分析(文件不知道在哪怎么找)

编辑:rootadmin

推荐整理分享你不知道的文件上传漏洞php代码分析(文件不知道在哪怎么找),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:不知道什么文件类型的文件类型,你不知道的文件有哪些,你不知道的文件英语,你不知道的文件英语,你不知道的文件有哪些,不知道什么文件类型的文件类型,你不知道的文件英语,你不知道的文件英语,内容如对您有帮助,希望把文章链接给更多的朋友!

漏洞描述

开发中文件上传功能很常见,作为开发者,在完成功能的基础上我们一般也要做好安全防护。文件处理一般包含两项功能,用户上传和展示文件,如上传头像。

文件上传攻击示例

upload.php

upload.html

上述代码未经过任何验证,恶意用户可以上传php文件,代码如下

<&#;php eval($_GET['command']);&#;>

恶意用户可以通过访问 如 来执行远程命令

Content-type验证

upload.php

该方式是通过Http请求头信息进行验证,可通过修改Content-type ==> image/jpg绕过验证,可以通过脚本或BurpSuite、fiddle修改如下Content-Disposition: form-data; name="userfile"; filename="shell.php"Content-Type: image/gif

图片类型验证

该方法通过读取文件头中文件类型信息,获取文件类型

备注:如JPEG/JPG文件头标识为FFD8

你不知道的文件上传漏洞php代码分析(文件不知道在哪怎么找)

upload.php

可以通过图片添加注释来绕过此验证。如添加注释<&#;php phpinfo(); &#;>,保存图片后将其扩展名改为php,则可成功上传。上传成功后访问该文件则可看到如下显示

文件扩展名验证

通过黑名单或白名单对文件扩展名进行过滤,如下代码

upload.php

当黑名单不全,构造特殊文件名可以绕过扩展名验证

直接访问上传的文件

将上传文件保存在非web root下其他文件夹下,可以防止用户通过路径直接访问到文件。upload.php

用户不可以直接通过 来访问文件,必须通过view.php来访问view.php

查看文件代码未验证文件名,用户可以通过例如 root之外,用户通过id在数据库中查询文件名,读取文件,可以有效的阻止上述漏洞发生

总结

通过以上示例分析,可总结一下几点

1.文件名修改,不使用用户上传的文件名

2.用户不可以通过上传路径直接访问文件

3.文件查看采用数据库获取文件名,从而在相应文件服务器读取文件

4.文件上传限制文件大小,个人上传数量等

标签: 文件不知道在哪怎么找

本文链接地址:https://www.jiuchutong.com/biancheng/302023.html 转载请保留说明!

上一篇:php is_executable判断给定文件名是否可执行实例

下一篇:PHP编写daemon process详解及实例代码(PHP编写简易计算器)

  • 金税财务是干什么的
  • 借款利息如何计算政策依据
  • 租土地使用权建房
  • 职工薪酬如何做账
  • 用微信和支付宝支付 会计如何做账
  • 外贸出口免税政策
  • 用餐补贴算在工资里面吗
  • 冲红重开发票增值税怎么处理
  • 社会团体财务手册怎么写
  • 个体开票
  • 无形资产日常维护支出会计处理
  • 电梯生产设备
  • 取得与收益相关的政府补助会计分录
  • 付汇代扣代缴增值税纳税期限
  • 品种法完工产品成本的单位成本怎么算
  • 公司发实物要交税吗
  • 营改增后受托代销手续费税率是多少?
  • 安保服务费税率几个点怎么算
  • 核定征收的小型微利企业
  • 成本费用的结转方法
  • 常见的审计调整事项
  • 企业的其他业务收入包括
  • 未分配利润转入本年利润
  • 存货成本包括哪些项目
  • 以前年度有亏损需要交增值税吗为什么
  • 资产负债表资产总额在哪
  • 个人股票期权收益所得税怎么缴纳?
  • 我公司以房产土地为主
  • 认定为虚开进项发票我的业务是真实的
  • 香港公司可以给个人打款吗
  • biospwds最新版
  • avcodec是什么意思
  • 公司股权转让怎么操作
  • 为什么电脑开机显示无信号然后黑屏
  • 代扣代缴个税手续费
  • 使用二氧化碳灭火器时人应该站在什么位置
  • 酒店购买天然气流程
  • laravel访问路由方式
  • php处理xml数据
  • springboot和vue结合
  • 先发货再开票
  • php中为什么图片显示不出来
  • 企业年度预算编制流程
  • 国家给农民的青春有哪些
  • 出纳报销时应注意什么
  • 资产处置收益的账务处理
  • 非正常户是黑名单吗
  • 税务局季度报表利润表
  • 工地会计内账
  • 离职员工个税申诉企业怎么处理
  • 模板的固定
  • 新准则下其他应收坏账
  • mysql密码忘了怎么办?
  • 实行自行申报的项目有哪些
  • 无法收回离职员工合法吗
  • 纸质承兑汇票怎么兑现步骤
  • 一张凭证上可以写多个摘要吗
  • 确认应付职工薪酬如何计算
  • 小规模税收酒店做账报税
  • 存货毁损损失应计入的科目是
  • 仓储费计入哪个部门的费用
  • 当月已付款, 没收到发票怎么做账
  • 货已经收到未收到怎么办
  • 商业承兑汇票到期不兑付怎么办
  • 咨询费计入什么明细科目
  • mysql使用的协议
  • mysql免安装版下载
  • vmware虚拟机不能用桥接模式
  • 证书登录什么意思
  • 注册表c盘桌面路径改为d盘
  • Win10开机提示黑屏字母
  • win7登录不进去
  • mysql如何添加外键
  • h5抽奖转盘
  • 淘宝python基础教程
  • javascript异步编程
  • Python通过行和列提取数据
  • js字段截取
  • 济南保安证查询系统
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设