文件上传漏洞

本质:用户可通过伪造后缀、文件类型等方式上传恶意代码 / 文件,一般来说通过上传 webshell
<?php assert($_POST['a']);?>
一般出现在,头像上传、用户个人信息、文件处理(交接、存储、管理)、注册、申请;
$_FILE 预定义变量
黑白名单
黑名单:不允许上传文件类型
白名单:仅允许上传的文件类型
绕过
1 js 绕过
①修改 js 文件
直接删除 js 触发条件即可
②抓包重放
提交正常数据,再重放数据包
③禁用 js
使用插件禁用 js ,或使用浏览器配置禁用
如何区分前后端校验:
正常上传数据包,有校验提示,但无数据包的传递,此时可判断为 js 校验(部分服务器前后都校验)
2 mime type 限制,文件类型限制,直接修改类型即可
图片相关 mime 类型:
image/gif image/png image/jpeg
3 、黑名单限制
①尝试生僻后缀: .phtml .php1-8 html (仅受中间件配置限制,需要在中间件内添加对应配置才能生效,否则无法解析生僻后缀)
②尝试大小写后缀
windows 特性
I 、对大小写不敏感
II 、在生成文件的时候自动会去除空格、
III 、在生成文件的时候自动处理文件名后缀的 .( ) ,及点空点组合
IV windows 处理文件的时候 ”::$DATA“ 会把其之后的数据当作文件流处理,不会检测后缀名,同时保持其之前的文件名
IIV 、利用 php+windows 先上传数据包
此时会生成一个空文件
再次上传第二条数据包修改原有文件
此时会重新将文件内容添加进去,此方法适用于上传时源文件名不被修改的情况
④过滤后缀
尝试使用双写或者
4 、白名单限制
00 截断
当操作系统识别字符串读到 \0 字符时,意味者停止,结束,通过这个特性可达到 00 截断的目的,或某些
waf 的绕过
条件:
php 版本:小于 5.3.29
magic_quote_gpc:off
get 请求中在 url 地址栏里增加 %00
post 请求下
需修改 hex 编码为 00
注: 00 截断可应用于代码处理功能逻辑中;

相关推荐

  1. 文件漏洞

    2024-04-26 18:46:06       15 阅读
  2. ·xss文件漏洞

    2024-04-26 18:46:06       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-26 18:46:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-26 18:46:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-26 18:46:06       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-26 18:46:06       20 阅读

热门阅读

  1. 掩码讲解,以及生成

    2024-04-26 18:46:06       13 阅读
  2. Nginx下php连接到GBase 8s数据库 - ODBC方式

    2024-04-26 18:46:06       28 阅读
  3. uniapp 页面滚动到指定位置的方法

    2024-04-26 18:46:06       14 阅读
  4. 【学习笔记】

    2024-04-26 18:46:06       15 阅读
  5. CDN引入Vue3

    2024-04-26 18:46:06       13 阅读
  6. 对象指针与对象数组(拉丁舞)

    2024-04-26 18:46:06       15 阅读
  7. Unity 数据持久化——persistentDataPath储存路径

    2024-04-26 18:46:06       15 阅读
  8. 游戏热更新进修——Lua编程

    2024-04-26 18:46:06       52 阅读
  9. Elment ui 表单上滑 加载更多数据方法

    2024-04-26 18:46:06       13 阅读
  10. CSV解析

    CSV解析

    2024-04-26 18:46:06      12 阅读
  11. Promise

    Promise

    2024-04-26 18:46:06      13 阅读