位置: 编程技术 - 正文

你不知道的文件上传漏洞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编写简易计算器)

  • 增值税发票抵扣是什么意思
  • 开出销项发票和进项票成本有出入怎么办?
  • 企业购买产品
  • 流动资金包括哪三种
  • 出口资质需要哪些资质
  • 信息技术服务费入什么科目
  • 采购返利怎么生成发票
  • 投资收益科目在贷方
  • 残疾人保障金的计算方法
  • 股东个人为公司付的钱
  • 购进农产品取得3%专票怎样计算抵扣举例
  • 去年已认证发票红冲怎么报税
  • 销售商品收入确认的五个条件
  • 私募基金管理人a向投资者推介私募产品,不合规
  • 增值税留底税怎么计算
  • 城市基础设施配套费 契税
  • 房产税的改革方向
  • 金税盘如何红冲已抵扣专票
  • 商品税目是什么意思4001
  • 企业生产经营模式
  • 经营租赁的固定资产计提折旧吗
  • 坏账损失如何连续计提
  • 金税盘发票份数没有显示
  • 注册资本与利息的税前扣除
  • 如何正确使用储存卡
  • 上月开的发票会计漏做帐,本月应如何补做账?
  • s24evmon.exe - s24evmon是什么进程 有什么用
  • vpengine.exe进程
  • 销售商品并收到货款的会计分录
  • 多收不用退的货物怎么办
  • drvmgr.exe
  • 两台电脑文件共享,显示没有访问权限
  • php远程下载图片
  • php制作验证码
  • php生成证书图片
  • vue组件元素设置滚动条高度
  • 【深度学习时间序列预测案例】零基础入门经典深度学习时间序列预测项目实战(附代码+数据集+原理介绍)
  • didstata命令
  • mysql事件使用方法
  • 企业如何利用期货对冲风险怎么操作
  • 供货单位与开票单位不一致
  • 员工借现金分录
  • 处置固定资产账务处理进什么科目
  • sql2008安装出现以下错误
  • mongodb如何修改数据
  • 发票专用章刻制
  • 建筑业综合税率13.8%
  • 企业增资相关知识点
  • 待认证进项税额认证以后怎么做分录
  • 请培训老师的费用怎么处理
  • 公司购买土地建厂房账务处理小企业会计准则
  • 公司基本账户提额怎么算
  • 平销返利是销售折扣吗
  • 个体工商户不缴纳印花税吗
  • 购买柴油预付卡怎么入账
  • 专票和普票的作用
  • 应付职工薪酬的会计科目
  • 本年利润怎么结账
  • sql语句数字转化为文字
  • fedora内核版本
  • ubuntu 启动gui
  • linux查看组的信息
  • centos防火墙策略配置
  • windows xp怎么清理c盘
  • dll文件应该放在哪里
  • win7如何设置屏幕不黑屏
  • linux中的top命令
  • 批处理程序教程
  • python生成密钥
  • 基于javascript的毕业设计
  • 浅谈一下新冠的好处
  • 深入理解javascript特性.pdf
  • yarn功能
  • fragment中嵌套fragment
  • pyqt5编译
  • 广州出租车发票号码在哪里
  • 税务稽查强制措施
  • 贵州省电子税务
  • 属于资源税类的税种有哪些
  • 个人养老金没有开立资金账户
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设