服務熱線
153 8323 9821
一 GIF89a圖片頭文件欺騙
1、什么是GIF89a
一個GIF89a圖形文件就是一個根據(jù)圖形交換格式(GIF)89a版(1989年7 月發(fā)行)進行格式化之后的圖形。在GIF89a之前還有87a版(1987年5月發(fā)行),但在Web上所見到的大多數(shù)圖形都是以89a版的格式創(chuàng)建的。 89a版的一個最主要的優(yōu)勢就是可以創(chuàng)建動態(tài)圖像,例如創(chuàng)建一個旋轉(zhuǎn)的圖標、用一只手揮動的旗幟或是變大的字母。特別值得注意的是,一個動態(tài)GIF是一個以GIF89a格式存儲的文件,在一個這樣的文件里包含的是一組以指定順序呈現(xiàn)的圖片。
2、GIG89a實例
用記事本編寫一下內(nèi)容,然后修改后綴變成圖片
view plaincopy to clipboardprint?
GIF89a
<head>
<meta http-equiv = "refresh" content = "1; url=http://www.×××.com/" />
</head>
GIF89a
<head>
<meta http-equiv = "refresh" content = "1; url=http://www.×××.com/" />
</head> 。 當單獨查看此文件時,會出現(xiàn)GIF89a,然后跳轉(zhuǎn)到指定的網(wǎng)頁(ie6和ie7下,F(xiàn)irefox下不可以)。
3、php下檢測(使用getimagesize函數(shù)無法判斷其圖片是無效的)
uchome2.0的處理(1.5有此漏洞):view plaincopy to clipboardprint?
//檢查是否圖片
if(function_exists('getimagesize')) {
$tmp_imagesize = @getimagesize($new_name);
list($tmp_width, $tmp_height, $tmp_type) = (array)$tmp_imagesize;
$tmp_size = $tmp_width × $tmp_height;
if($tmp_size > 16777216 || $tmp_size < 4 || emptyempty($tmp_type) || strpos($tmp_imagesize['mime'], 'flash') > 0) {
@unlink($new_name);
return cplang('only_allows_upload_file_types');
}
}
//檢查是否圖片
if(function_exists('getimagesize')) {
$tmp_imagesize = @getimagesize($new_name);
list($tmp_width, $tmp_height, $tmp_type) = (array)$tmp_imagesize;
$tmp_size = $tmp_width × $tmp_height;
if($tmp_size > 16777216 || $tmp_size < 4 || empty($tmp_type) || strpos($tmp_imagesize['mime'], 'flash') > 0) {
@unlink($new_name);
return cplang('only_allows_upload_file_types');
}
}
2 一個php的一句話木馬:
上面的代碼上傳會 會生成一個教xiaobo.php文件 然后可以使用xiaobo.php?cmd=linux命令來執(zhí)行腳本