[web安全原理分析]-SSRF漏洞入門


SSRF漏洞

SSRF漏洞

SSRF意為服務端請求偽造(Server-Side Request Forge)。攻擊者利用SSRF漏洞通過服務器發起偽造請求,就這樣可以訪問內網的數據,進行內網信息探測或者內網漏洞利用

SSRF漏洞形成的原因是:應用程序存在可以從其他服務器獲取數據的功能,但對服務器的地址沒有做嚴格的過濾,導致應用程序可以訪問任意的URL鏈接。攻擊者通過精心構造URL連接,可以利用SSRF漏洞進行以下攻擊:

  (1)     通過服務器獲取內網主機、端口和banner信息

  (2)     對內網的應用程序進行攻擊,例如Redis、JBoss等

  (3)     利用file://偽協議讀取文件

  (4)     可以攻擊內網程序,造成緩沖區溢出

SSRF高危觸發點:

  (1)圖片加載與下載:通過URL地址加載或下載圖片

  (2)從遠程服務器請求資源

  (3)數據庫內置功能(Orage,MongoDB,MSSQL,Posgres,couchDB)

  (4)Web Mail收取其他郵箱郵件

  (5)文件處理、編碼處理、屬性信息處理(FFmpeg,docx,pdf,XML處理)

SSRF漏洞代碼分析

漏洞示例代碼: 

<?php
if(isset($_GET['url']))
{
    $link=$_GET['url'];
    $filename='./'.rand().'.txt';
    $curlobj=curl_init($link);
    curl_setopt($curlobj,CURLOPT_FILE,$link);
    curl_setopt($curlobj,CURLOPT_HEADER,0);
    $result=curl_exec($curlobj);
    curl_exec($curlobj);
    curl_close($curlobj);
    fclose($link);
    file_put_contents($filename, $result); 
    echo $result;
}
?>

以上代碼通過curl_exe函數對訪問傳入的URL數據進行請求,並返回請求的結果。

1.文件讀取

通過file://偽協議讀取常見的文件,例如/etc/passwd  我的是windows環境所以簡單測試讀取windows下的win.ini文件

pyaload:

http://192.168.1.6/index.php?url=file://C:\Windows\win.ini

2.端口探測

url沒有經過嚴格的過濾,因此攻擊者就可以構造任意的URL利用SSRF漏洞。例如可以通過http://127.0.0.1:3306來探測此服務器是否開啟了3306端口

測試3306端口payload:

http://192.168.1.6/index.php?url=http://127.0.0.1:3306

測試3389端口payload:

http://192.168.1.6/index.php?url=http://127.0.0.1:3389

返回數據為空,返回延遲比較長 說明不存在此端口 

 3.內網應用攻擊

通過SSRF漏洞可以進行端口信息探測,也可以對內網存在遠程命令執行漏洞的應用進行攻擊

  (1)信息探測

  利用SSRF端口信息探測方法通過內網發現了內網有一台主機開啟了JB服務

  (2)訪問jmx控制台

  (3)部署木馬

  (4)獲得webshell

  (5)執行命令

待更新。。。。。

其他常見漏洞代碼

漏洞代碼1  file_get_contents()

<?php
if(isset($_POST['url']))
{
   $content=file_get_contents($_POST['url']);
   $filename='./images/'.rand().'.img';
   file_put_contents($filename,$content);
   echo $_GET['url'];
      $img="<img src=\"".$filename."\"/>";
    
}
echo $img;
?>

通過post請求傳入我們要讀取的文件 這樣我們win.ini文件就寫入到了圖片中 

打開圖片查看 得到我們需要的信息

SSRF漏洞修復

(1)過濾請求協議,只允許http或者https開頭的協議

(2)嚴格限制訪問的IP地址,只允許訪問特定的IP地址

(3)限制訪問的端口,只允許訪問特定的端口

(4)設置統一的錯誤信息,防止造成信息泄露

前言

參考學習:https://www.cnblogs.com/wangshuwin/p/7642693.html

    《web安全原理分析與實踐》——SSRF漏洞

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM