2021/2/24文件上传篇

本文详细介绍了文件上传的过程,包括客户端选择文件、服务器接收、网站程序判断、临时文件及移动到指定路径等步骤。同时,列举了常见的文件上传错误代码,并探讨了文件后缀名过滤、文件头检测、%00截断、NTFS交换数据流等安全问题。此外,还讲解了黑名单和白名单策略在防止恶意文件上传中的应用,以及系统特性如何影响上传安全。最后,提到了Windows系统中关于文件名点号处理的特性。
摘要由CSDN通过智能技术生成

文件上传

1、文件上传是怎样的一个过程!

  • 客户端选择发送的文件->服务器接收->网站程序判断->临时文件->移动到指定的路径

2、文件上传错误代码是什么?

  • 值为0:没有错误发生,文件上传成功
  • 值为1:上传的文件超过了 php.ini 中 upload max filesize 选项限制的值
  • 值为2:上传文件的大小超过了HTML 表达中 MAX_FILE_SIZE 选项指定的值
  • 值为3: 文件只有部分被上传
  • 值为4:没有文件被上传

3、网站文件常见的后缀名

  • asp

  • asa

  • cdx

  • cer

  • php

  • aspx

  • ashx

  • php3

  • php.a

  • shtml

  • phtml

  • 过滤的时候可以传入这种格式

  • aspasp

  • phpphp

  • 大小写转换

4、造成漏洞的原因

  • 程序代码和系统缺陷

  • a) 文件可以直接上传 可执行脚本 moon.php

  • b) js 脚本限制 禁止 js 文件运行

  • 修改 html

  • 抓包改包

            i.  直接在 jpg 上面修改代码
           ii.   在包里面修改后缀名
    
  • 文件类型的检测 修改HTTP文件类型

  • 文件名可控 后缀名不可控 iis6.0 解析漏洞 moon.asp;.jpg moon.asp;jpg

  • 目录解析漏洞 iis6.0 文件夹为 x.asp 只要上传文件到这个文件夹里 访问就会执行脚本

5、什么是黑名单和白名单?

  • 黑名单指定后缀名是禁止上传的
  • 白名单就是允许文件夹后缀

6、文件头检测

  • 修改文件头 或 图片一句话绕过

  • JPEG (jpg),文件头:FFD8FF

  • PNG (png),文件头:89504E47

  • GIF (gif),文件头:47494638

  • TIFF (tif),文件头:49492A00

  • Windows Bitmap (bmp),文件头:424D

  • 制作图片一句话

               copy 1.gif/b+moon.php shell.php
    

7、%00截断的应用场景

  • 直接截断文件名
  • 创建目录可控 %00 截断创建目录 利用iis6.0解析漏洞,上传文件到这个目录里面
  • 截断参数 生成文件

8、系统特性的了解

  • 上传文件名 a.php:.jpg 的时候 会在,目录下生成 a.php 的空白文件

  • 利用PHP和Windows环境的叠加特性,以下符号在正则匹配时的相等性:

                双引号(")= 点号(.)
                大于符号(>) = 问号(?)
                 小于号(<) = 星号(*)
    

文件名.<或文件名.<<<或文件名.>>>或文件名.>><空文件名
写入 filename.<<<

9、NTFS交换数据流

  • :$DATA 创建文件
  • ::$DATA创建和写入文件

10、补充

  • window 系统里面会把文件名的最后一个点 会自动去掉
  • 如上传 moon.php.最后还是会变成 moon.php
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值