米安代码审计 05 文件上传漏洞

本文记录 PHP 代码审计的学习过程,教程为暗月 2015 版的 PHP 代码审计课程

PHP 代码审计博客目录

1. 简介

  1. 危害

    如果不对被上传的文件进行限制或者限制被绕过,该功能便有可能会被利用于上传可执行文件、脚本到服务器上,进而进一步导致服务器沦陷。

  2. 漏洞成因

    1. 导致文件上传的漏洞的原因较多,主要包括以下几类
    • 服务器配置不当
    • 开源编辑器上传漏洞
    • 本地文件上传限制被绕过
    • 过滤不严或被绕过
    • 文件解析漏洞导致文件执行
    • 文件路径截断

2. 漏洞成因

  1. 服务器配置不当

    当服务器配置不当时,在不需要上传页面的情况下便可导致任意文件上传,参见HTTP请求方法(PUT)。

  2. 开源编辑器上传漏洞

    很多开源的编辑器历史上都有不同的上传漏洞,包括但不只限于CKEditor,CKEditor的文件上传漏洞参见CKEditor。

  3. 本地文件上传限制被绕过

    只在客户端浏览器上做了文件限制而没有在远程的服务器上做限制,只需要修改数据包就可以轻松绕过限制。

  4. 过滤不严或被绕过

    1. 有些网站上使用了黑名单过滤掉了一些关键的可执行文件脚本后缀等,但黑名单不全或者被绕过,导致可执行脚本文件被上传到服务器上,执行。
    2. 如在服务器后端过滤掉了后缀为.php的文件,但并没有过滤掉.php3等其他可执行文件脚本后缀,攻击者就可以上传带有其他的可执行文件脚本本后缀的恶意文件到服务器上。
    3. 在某些情况下由于管理员错误的服务器配置(将.html后缀的文件使用php进行解析等)会导致.html、.xml等静态页面后缀的文件也可被执行。
    4. 在上传文件保存磁盘为NTFS格式时可通过::$DATA绕过黑名单限制,参见NTFS中的ADS的一些问题[欢迎一起讨论,求思路求方法]。
    5. 有时服务器只对第一个被上传的文件进行了检查,这时通过同时上传多个文件并将恶意文件掺杂进其中也可绕过服务器的过滤。
  5. 常用脚本后缀

     php
     php2
     php3
     php5
     phtml
     asp
     aspx
     ascx
     ashx
     cer
     jsp
     jspx
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 格拉姆角场(Gramian Angular Field)是一种用于图像处理和计算机视觉的特征提取方法。它通过计算图像中每个像素与其周围像素之间的角度差异来描述图像的局部结构。这种方法可以用于图像分类、目标检测、人脸识别等应用。 ### 回答2: Gramian angular field 是一种用于描述信号的特征的测量方法。它在信号处理和图像处理领域被广泛应用。 Gramian angular field 的定义基于格拉姆矩阵和角度函数。格拉姆矩阵用于描述信号的内积关系,它可以由信号的自相关矩阵计算得到。角度函数则用于描述信号之间的相对角度。 在计算 Gramian angular field 时,首先需要通过信号的自相关矩阵计算格拉姆矩阵。接下来,利用格拉姆矩阵的特征值和特征向量来计算信号之间的相对角度。最后,将计算得到的相对角度进行可视化,可以得到 Gramian angular field。 Gramian angular field 具有许多应用。例如,在图像处理中,它可以用于图像的特征提取。通过计算图像的 Gramian angular field,可以获取图像的纹理特征,用于图像分类、目标识别等任务。在信号处理中,Gramian angular field 可以用于信号的时频分析,用于检测信号的周期性、频率分布等。 总的来说,Gramian angular field 是一种用于描述信号特征的测量方法,它通过计算格拉姆矩阵和角度函数来获取信号之间的相对角度。它在信号处理和图像处理领域有着广泛的应用。 ### 回答3: Gramian angular field,即格拉米安角场,是一种用于描述图像中空间角度分布特征的数学量。它基于格拉米安矩阵(Gramian matrix)的计算,通过将图像中的像素点映射到极坐标平面上来获取图像的角度分布。 具体而言,Gramian angular field将图像的每个像素点的位置映射到极坐标平面上,并以该像素点作为中心点,则可以计算出该像素点与其他像素点之间的角度。重复这个过程,可以得到整个图像中所有像素点的角度分布情况。 通过计算Gramian angular field,我们可以生成一个与原始图像具有相同尺寸的角度分布图。这个角度分布图可以用于分析图像中物体的空间角度分布特征,例如检测图像中是否存在固定方向的纹理,判断图像的整体结构形态等。 格拉米安角场在计算机视觉和图像处理领域具有广泛的应用。例如,在行人检测中,可以利用格拉米安角场来提取行人的角度分布特征,从而实现行人的姿态判断和行人检测;在纹理分析中,格拉米安角场可以用于检测图像中方向性纹理的存在与方向。 总之,Gramian angular field是一种通过计算图像中像素点之间的角度分布特征来描述图像空间角度分布的数学量,具有丰富的应用前景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值