`
ongsh321
  • 浏览: 101256 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

(转)GIF89a图片头文件欺骗

阅读更多

1、什么是GIF89a

    一个GIF89a图形文件就是一个根据图形交换格式(GIF)89a版(1989年7 月发行)进行格式化之后的图形。在GIF89a之前还有87a版(1987年5月发行),但在Web上所见到的大多数图形都是以89a版的格式创建的。 89a版的一个最主要的优势就是可以创建动态图像,例如创建一个旋转的图标、用一只手挥动的旗帜或是变大的字母。特别值得注意的是,一个动态GIF是一个 以GIF89a格式存储的文件,在一个这样的文件里包含的是一组以指定顺序呈现的图片。

2、GIG89a实例

用记事本编写一下内容,然后修改后缀变成图片

 

  1. GIF89a  
  2. <head>  
  3. <meta http-equiv = "refresh" content = "1; url=http://www.***.com/" />  
  4. </head>  
。 当单独查看此文件时,会出现GIF89a,然后跳转到指定的网页(ie6和ie7下,Firefox下不可以)。

 

3、php下检测(使用getimagesize函数无法判断其图片是无效的)

uchome2.0的处理(1.5有此漏洞):

  1. //检查是否图片  
  2.     if(function_exists('getimagesize')) {  
  3.         $tmp_imagesize = @getimagesize($new_name);  
  4.         list($tmp_width$tmp_height$tmp_type) = (array)$tmp_imagesize;  
  5.         $tmp_size = $tmp_width * $tmp_height;  
  6.         if($tmp_size > 16777216 || $tmp_size < 4 || emptyempty($tmp_type) || strpos($tmp_imagesize['mime'], 'flash') > 0) {  
  7.             @unlink($new_name);  
  8.             return cplang('only_allows_upload_file_types');  
  9.         }  
  10.     }  

 

分享到:
评论
1 楼 chendu135 2011-03-17  
请问是否知道在asp.net下如何防止这种方式的侵入吗?谢谢了!

相关推荐

    直接显示GIF图片的C++类(GIF87a,GIF89a,JPEG, BMP, WMF, ICO, CUR)

    Picture displaying control with support for the following formats: GIF (including animated GIF87a and GIF89a), JPEG, BMP, WMF, ICO, CUR

    gif98a

    标题中的“gif98a”实际上是指GIF89a图像格式的一个变体,这是一个流行的位图文件格式,尤其在创建动画时非常常见。GIF89a是GIF(Graphics Interchange Format)的增强版,它在1989年的GIF87a基础上增加了对透明度和...

    gif 文件 格式 vc源码

    例如,`bitmap1.bmp`可能是用来测试GIF读写功能的样例图片。 总结,理解和掌握GIF 89a文件格式,不仅有助于深入学习图像处理和压缩算法,还能为开发涉及图像显示和动画的软件提供坚实的基础。通过分析和研究提供的...

    GIF动画全操作支持库1.3版(GIF89a.fne)-易语言

    "GIF动画全操作支持库1.3版(GIF89a.fne)" 是一个专为易语言(Easy Language)设计的库,旨在帮助开发者在Windows平台上创建和处理GIF动画。这个库不仅能够解析GIF文件,还能合成新的GIF动画,为开发者提供了全面的...

    gifencoder,实现gif89a规范的纯java库。适合在android上使用。.zip

    《深入理解GifEncoder:基于GIF89a规范的纯Java实现》 在移动开发领域,尤其是在Android平台上,由于其独特的系统架构,许多在Java SE环境下常用的图形处理库并不能直接应用。`gifencoder`正是为了解决这个问题而...

    MATLAB源程序代码分享:MATLAB创建无限循环的GIF动图

    这些图像可以是通过计算得到的二维数组(例如,从某个动态过程的模拟结果),或者直接读取的一系列图片文件。 2. **定义参数**:设定GIF的参数,包括图像质量、颜色索引、以及循环次数。无限循环通常表示为-1。 ``...

    java实现多张png,jpg等各种图片文件转动态gif图

    在Java编程环境中,将多张PNG、JPG等格式的静态图片转换为动态GIF图像是一项常见的需求。这个过程涉及到图像处理和动画制作的技术。在本文中,我们将深入探讨如何利用Java来实现这一功能,同时关注如何设置各种参数...

    易语言-GIF动画全操作支持库 (1.3#0版)(GIF89a.fne)

    对于GIF89a.fne这个特定的支持库,它的主要功能包括: 1. **库定义数据类型**:库定义了4种专门的数据类型,这些类型可能包括GIF图像结构、帧信息、颜色表等,用于存储和处理GIF动画的相关数据。理解这些数据类型...

    GIF文件解码器类使用说明

    GIF文件解码器类使用说明 ... gif89a.h 解码器类头文件 gif89a.doc GIF文件格式说明 lzw.doc GIF文件所用压缩算法的说明 readme.txt 自述文件 gifinfo.exe 使用本原代码的例子程序 gifinfo.cpp 例子程序原文件

    vb支持gif文件的全部方法

    - **GIF控件:** VB提供了如GIF89a等第三方控件,可以直接在界面上添加并显示GIF文件。这些控件可以方便地加载和播放GIF动画,但可能需要在用户计算机上安装额外的组件,可能会引起兼容性问题。 - **PictureBox...

    易语言-GIF动画全操作支持库1.2#0版(第三方)

    易语言GIF89a.fne支持库中文名为易语言GIF动画全操作支持库,本易语言支持库用来合成和解析GIF动画。 易语言GIF89a.fne支持库为一般支持库,需要易语言系统3.0版本的支持,需要易语言系统核心支持库3.8版本的支持,...

    delphi 7 gif控件

    // Description: TGraphic implementation of the GIF89a graphics format // // Version: 2.2 // // Release: 5 // // Date: 23-MAY-1999 // // Target: Win32, Delphi 2, 3, 4 & 5, C++ Builder 3 & 4 // // ...

    Photoshop的GIF透明图片插件

    在处理GIF动态图时,Photoshop提供了一种特别的插件,即"Photoshop的GIF透明图片插件",该插件主要用于创建和编辑具有透明效果的GIF动态图像。 GIF89a是GIF格式的一个版本,它支持透明色和动画功能。在Photoshop中...

    C++解码gif文件

    - gif89a.h:包含解码所需的数据结构和函数声明的头文件。 - readme.txt:通常包含有关如何使用这些文件的简短说明。 通过阅读源代码和相关文档,你可以更深入地了解GIF解码的细节,以及如何在C++中实现这个过程。...

    GIF动画全操作支持库

    文件名"静态版GIF89afne"可能指的是该库的一个特定版本,其中"89a"是GIF格式的一个版本,通常与透明色支持有关,而"静态版"可能意味着这个版本主要针对处理静态GIF图片,而不是动画。 总的来说,"GIF动画全操作支持...

    vb GIF文件的数据结构以及播放和分解GIF的源代码

    1. 文件头:GIF文件以“GIF”三个字节作为文件标识,接着是版本信息(如“87a”或“89a”),表示该GIF遵循的规范版本。 2. 全局颜色表(Global Color Table, GCT):GIF文件可以包含一个全局颜色表,用于定义整个...

    GIF标准及其解码

    发的 GIF 文件格式版本号是 GIF87a,1989 年进行了扩充,扩充后的版本号定义为 GIF89a。 一, 概述: GIF 文件由文件头,描述块,彩色表,数据块,扩展块和结束符构成,GIF87a 和 GIF89a 的区别在于:后者较前者增加...

    gifencoder:实现GIF89a规范的纯Java库。 适用于Android

    GIF图像限制为256色。 如果您提供颜色更多的图像,则gifencoder的默认行为是使用进行。 您可以通过ImageOptions配置此行为。 提供了一些量化器和抖动器,但是您也可以插入自己的实现。 基本用法 int [][] ...

    GIF动画全操作支持库1.2#0版(第三方)

    易语言GIF89a.fne支持库中文名为易语言GIF动画全操作支持库,本易语言支持库用来合成和解析GIF动画。易语言GIF89a.fne支持库为一般支持库,需要易语言系统3.0版本的支持,需要易语言系统核心支持库3.8版本的支持,...

    PHPResizeGif:符合GIF89a的Gif尺寸调整器,包括透明度和具有小尺寸元素的优化gif

    该软件包旨在对包含GIF89a规范的gif文件进行适当的大小调整。 介绍 大多数(如果不是全部)其他所有公开可用的gif调整大小包都无法通过优化的gif文件失败,那些仅在后续帧中更新文件一部分的文件。 将这些视作背景...

Global site tag (gtag.js) - Google Analytics