日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SSRF漏洞基础

發布時間:2023/12/18 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SSRF漏洞基础 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

pikachu安裝時的問題——pikachu數據庫鏈接不上以及側邊欄訪問沒有反應,只有URL加了個#原因和解決辦法_Gjqhs的博客-CSDN博客

普及SSRF漏洞原理、危害和修復方法修復

SSRF簡介

略圖

張三:有趣...

SSRF(Server-SideRequestForgery:服務器端請求偽造)是一種由攻擊者構造惡意數據,形成由服務端發起請求的一個安全漏洞。一般情況下,SSRF攻擊的目標是從外網無法訪問的內部系統,正是因為它是由服務端發起的,所以它能夠請求到與它相連而與外網隔離的內部系統
SSRF形成的原因大都是由于服務端提供了從其他服務器應用獲取數據的功能且沒有對目標地址做過濾與限制,比如從指定URL地址獲取網頁文本內容,加載指定地址的圖片,下載等等

SSRF常見場景

社交分享功能
獲取超鏈接的標題等內容進行顯示
轉碼服務
通過URL地址把原地址的網頁內容調優使其適合手機屏幕瀏覽
在線翻譯
給網址翻譯對應網頁的內容
圖片加載/下載
例如富文本編輯器中的點擊下載圖片到本地;通過URL地址加載或下載圖片

編碼處理,屬性信息處理,文件處理
如ffpmg,ImageMagick,docx,pdf,xml處理器等
url中的關鍵字:
share、wap、ur link、src source、target、u、3g、display、sourceURI
imageURl、domain...
從遠程服務器請求資源
(uploadfromurl如discuz!;import & expost rss feed如web blog;使用了xml
引擎對象的地方如wordpress xmlrpc.php)

Web應用在分享功能中,為了更好的用戶體驗,,通常會獲取目標URL地址網頁內容中的<title></title>標簽的文本內容作為顯示。如果在此功能中沒有對目標地址的范圍做過濾與限制就會造成SSRF漏洞

通過URL地址翻譯對應文本的內容
提供此功能的國內公司有百度、有道等

圖片加載與下載
許多Web服務器都存在圖片加載遠程圖片功能,但大多都是比較隱秘,比如加載本地服務器圖片用于展示。開發者為了有更好的用戶體驗通常對圖片做微小調整,例如加水印、壓縮等,這樣的做法,很大可能造成SSRF漏洞。

SSRF危害
可以對外網服務器所在內網、本地進行端口掃描,獲取服務端口的Banner信息
攻擊運行在內網或本地的應用程序(如Fastcgi,redis等)
對內網Web應用進行指紋識別,通過訪問默認文件實現(如Readme等文件)
攻擊內外網的Web應用,使用GET就可以實現的攻擊(比如Struts2,Redis等)
利用File協議讀取本地文件

SSRF漏洞產生

Curl命令

curl是常用的命令行工具,可以用來請求Web、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP,cUrl中也包含了用于程序開發的libcurl。

下段為未做任何防御的cur執行代碼

<?phpSch curl_init();Sur1 $_GET['ur1'];cur1_setopt(Sch,CURLOPT_URL,$url);echo $_GET['url'];cur1_setopt($ch,CURLOPT_FOLLOWLOCATION,1);#cur1函數可以跟隨301.302跳轉cur1_setopt($ch,CURLOPT._HEADER,1);#設置curI函數返回頭部信息cur1_setopt($ch,CURLOPT_RETURNTRANSFER,0);cur1_exec($ch);Sstatus curl_getinfo($ch);var_dump($status);cur1_close($ch);?>

file_get_contents函數

通常file_get_contents在php函數中經常和**php://input**偽協議結合利用,當

file_get_contents函數的參數為url地址加載文件或者圖片時,也會造成遠程文件包含,或者ssrf漏洞

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

fsockopen函數

打開一個網絡連接或者一個Unix套接字連接

<?phpShost=S_GET['ur1'];Sfp fsockopen("Shost",80,Serrno,Serrstr,30);if (!Sfp){echo "Serrstr (Serrno)<br />\n";}else}$out ="GET / HTTP/1.1\r\n";$out .="Host:$host\r\n";$out .="Connection:close\r\n\r\n";fwrite($fp,Sout);while (!feof($fp)){echo fgets($fp,128);}fclose($fp):}?>

SSRF利用方式

Http和Https協議
File協議
Dict協議
Gopher協議

File協議
file協議主要用于訪問本地計算機中的文件,命令格式為:file:///文件路徑

可以利用file協議讀取目標機有權限且確定路徑的文件

Dict協議
可以利用dict協議探測本地服務器(127.0.0.1)的端口以及內網服務器存活以及開放
端口
dict://serverip:port/命令:參數
向服務器的端口請求為【命令:參數】,并在末尾自動補上\r\n(CRLF)

Gopher協議
Gopher是Internet上一個非常有名的信息查找系統
它將Internet上的文件組織成某種索引,很方便地將用戶從Internet的一處帶到另一處。在
WWW出現之前,Gopher是Internet上最主要的信息檢索工具,Gopher站點也是最主要的
站點,使用tcp70端口
gopher協議支持發出GET、POST請求
可以先截獲get請求包和post請求包,在構成符合gopher協議的請求。gopher協議是ssrf
利用中最強大的協議

Gopher協議格式
gopher://<host>:<port>/<gopher-path>_后接TCP數據流
gopher的默認端口是70
如果發起post請求,回車換行需要使用%0d%0a,如果多個參數,參數之間的&也需要進行
URL編碼

Gopher協議使用限制條件

協議支持情況
PHP

php版本>=5.3

JAVA小于IDK1.7
Curl低版本不支持

Perl

支持
ASP.NET小于版本3

SSRF繞過技巧

攻擊本地
http://127.0.0.1:80
http://localhost:22
利用[::]
利用[::]繞過localhost
http://[::]:80/ <==>http://127.0.0.1

利用@

http://example.com@127.0.0.1/

利用短地址

https://bit.ly/2QyXEsz <==>http:/127.0.0.1

在線短地址生成工具

http://dwz.chacuo.net/bitly

利用DNS解析
在域名上設置A記錄,指向127.0.0.1
利用句號
127。0。0。1<==>127.0.0.1
利用進制轉換
可以是十六進制,八進制等
http://127.0.0.1<==>http://0177.0.0.1/

示范

打開picachu的SSRF(curl),點擊上方文字,更改訪問路徑,訪問百度。

?使用http協議讀info1.php詩

使用file協議讀本機文件內容

使用http協議進行存活ip探測

?使用http協議進行端口探測

SSRF漏洞修復

禁止跳轉
過濾返回信息
如果web應用是去獲取某一種類型的文件。那么在把返回結果展示給用戶之前先驗證返回的信息是否符合標準
禁用不需要的協議,僅僅允許http和https請求
可以防止類似于file://,gopher://,ftp://等引起的問題

設置URL白名單或者限制內網IP
使用gethostbyname()判斷是否為內網IP
限制請求的端口為http常用的端口
比如80、443、8080、8090
統一錯誤信息
避免用戶可以根據錯誤信息來判斷遠端服務器的端口狀態

總結

以上是生活随笔為你收集整理的SSRF漏洞基础的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。