首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 利用圖片檔案竊取訪客 IP 的原理與防範

     編輯:PHP 綜合知識

⚠ 本文僅供安全研究與防禦參考,請勿用於非法用途。

攻擊原理

利用 Apache .htaccess 將 .jpg 當作 PHP 腳本解析:

AddHandler application/x-httpd-php5 .jpg

建立 grabber.jpg(實為 PHP 腳本):

<?php
$fh = fopen('ip_list.txt', 'a');
fwrite($fh, $_SERVER['REMOTE_ADDR'] . " ");
fclose($fh);

$im = imagecreatefromjpeg("n00b.png");
header('Content-Type: image/jpeg');
imagejpeg($im);
imagedestroy($im);
?>

同目錄放入真實圖片 n00b.png。受害者訪問 grabber.jpg 時,腳本記錄其 IP 並輸出正常圖片,隱蔽性極高。

衍生攻擊向量

  • SQL 注入載入:在注入點植入 <img src="grabber.jpg"> 竊取管理員 IP。
  • XSS 載入:在輸出未過濾的頁面植入同樣圖片標籤。

防禦建議

  1. 禁止上傳目錄執行腳本:php_flag engine off 或 Nginx location ~ \.php$ { deny all; }。
  2. 嚴格驗證上傳檔案 MIME 與副檔名,重命名儲存。
  3. 啟用 CSP(Content-Security-Policy)限制圖片來源。
  4. 定期掃描 Web 目錄異常 .htaccess 或偽裝圖片檔。

理解攻擊手法,才能建構更安全的應用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved