一、來源
1、圖片馬的生成:
使用CMD制作一句話木馬。
參數/b指定以二進制格式復制、合並文件; 用於圖像類/聲音類文件
參數/a指定以ASCII格式復制、合並文件。用於txt等文檔類文件
copy 1.jpg/b+1.php 2.jpg
//意思是將1.jpg以二進制與1.php合並成2.jpg
那么2.jpg就是圖片木馬了。
二、上傳圖片過濾圖片馬的代碼
// 檢測上傳圖片是否包含有非法代碼 public function check_illegal($image) { if (file_exists($image)) { $resource = fopen($image, 'rb'); $fileSize = filesize($image); fseek($resource, 0); if ($fileSize > 512) { // 取頭和尾 $hexCode = bin2hex(fread($resource, 512)); fseek($resource, $fileSize - 512); $hexCode .= bin2hex(fread($resource, 512)); } else { // 取全部 $hexCode = bin2hex(fread($resource, $fileSize)); } fclose($resource); /* 匹配16進制中的 <% ( ) %> */ /* 匹配16進制中的 <? ( ) ?> */ /* 匹配16進制中的 <script | /script> 大小寫亦可*/ if (preg_match("/(3c25)|(3c3f.*?706870)|(3C534352495054)|(2F5343524950543E)|(3C736372697074)|(2F7363726970743E)/is", $hexCode)) { return 'false'; } } return 'true'; }