什么是SSRF
一個對外的Web介面,改介面能讓用戶控制curl命令,去訪問別的web服務,
簡圖如下

想象一下當用戶請求的baidu.com/x.php?image=google.com/1.jpg 改成 baidu.com/x.php?image=private.com/php.info,是不是覺得原本不可能訪問到內網的主機,現在就很容易就能做到了,
原理
PHP代碼演示:
$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,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/69410.html
標籤:PHP
上一篇:PHP webshell
