一個對外的Web接口,改接口能讓用戶控制curl命令,去訪問別的web服務。php
簡圖以下
web
想象一下當用戶請求的baidu.com/x.php?image=google.com/1.jpg
改爲 baidu.com/x.php?image=private.com/php.info
,是否是以爲本來不可能訪問到內網的主機,如今就很容易就能作到了。瀏覽器
PHP代碼演示:curl
$url = $_GET['URL']; curl($url); function curl($url){ $ch = curl_init(); // 初始化curl會話對象 curl_setopt($ch,CURLOPT_URL,$url); // 抓取URL並把它傳遞給瀏覽器 curl_setopt($ch,CURLOPT_HEADER,0); curl_exec($ch); // 執行請求 curl_close($ch); }
1.查看代碼的時候檢查是否使用curl_setopt( )函數;
2.在看傳入的url是不是來自外部;函數
跳轉的url參數只能是白名單裏面的url。google