狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

【W(wǎng)eb滲透】服務(wù)器端請(qǐng)求偽造SSRF漏洞原理解析

admin
2023年11月28日 10:20 本文熱度 693

1、漏洞簡(jiǎn)介

SSRF(Server-Side Request Forgery:服務(wù)器端請(qǐng)求偽造) 是一種由攻擊者構(gòu)造形成由服務(wù)端發(fā)起請(qǐng)求的  一個(gè)安全漏洞。一般情況下,SSRF攻擊的目標(biāo)是從外網(wǎng)無(wú)法訪問(wèn)的內(nèi)部系統(tǒng)。正是因?yàn)樗怯煞?wù)端發(fā)  起的,所以它能夠請(qǐng)求到與它相連而與外網(wǎng)隔離的內(nèi)部系統(tǒng)。

1.1 漏洞原理

SSRF形成的原因大都是由于服務(wù)端提供了從其他服務(wù)器應(yīng)用獲取數(shù)據(jù)的功能且沒(méi)有對(duì)目標(biāo)地址做過(guò)濾與 限制。 通過(guò)控制功能中的發(fā)起請(qǐng)求的服務(wù)來(lái)當(dāng)作跳板攻擊內(nèi)網(wǎng)中其他服務(wù)。比如,通過(guò)控制前臺(tái)的請(qǐng)求遠(yuǎn)程地  址加載的響應(yīng),來(lái)讓請(qǐng)求數(shù)據(jù)由遠(yuǎn)程的URL域名修改為請(qǐng)求本地、或者內(nèi)網(wǎng)的IP地址及服務(wù),來(lái)造成對(duì) 內(nèi)網(wǎng)系統(tǒng)的攻擊。

1.2 漏洞危害

1、掃描內(nèi)網(wǎng)開(kāi)放服務(wù) 2、向內(nèi)部任意主機(jī)的任意端口發(fā)送payload來(lái)攻擊內(nèi)網(wǎng)服務(wù) 3、DOS攻擊(請(qǐng)求大文件,始終保持連接Keep-Alive Always) 4、攻擊內(nèi)網(wǎng)的web應(yīng)用,例如直接SQL注入、XSS攻擊等 5、利用file、gopher、dict協(xié)議讀取本地文件、執(zhí)行命令等

2、檢測(cè)與繞過(guò)

2.1 漏洞檢測(cè)

假設(shè)一個(gè)漏洞場(chǎng)景:某網(wǎng)站有一個(gè)在線加載功能可以把指定的遠(yuǎn)程圖片加載到本地,功能鏈接如下:http://www.xxx.com/image.php?image=http://www.xxc.com/a.jpg 那么網(wǎng)站請(qǐng)求的大概步驟應(yīng)該是類似以下: 用戶輸入圖片地址->請(qǐng)求發(fā)送到服務(wù)端解析->服務(wù)端請(qǐng)求鏈接地址的圖片數(shù)據(jù)->獲取請(qǐng)求的數(shù)據(jù)加載到 前臺(tái)顯示。 這個(gè)過(guò)程中可能出現(xiàn)問(wèn)題的點(diǎn)就在于請(qǐng)求發(fā)送到服務(wù)端的時(shí)候,系統(tǒng)沒(méi)有效驗(yàn)前臺(tái)給定的參數(shù)是不是允 許訪問(wèn)的地址域名,例如,如上的鏈接可以修改為:http://www.xxx.com/image.php?image=http://127.0.0.1:22 如上請(qǐng)求時(shí)則可能返回請(qǐng)求的端口banner。如果協(xié)議允許,甚至可以使用其他協(xié)議來(lái)讀取和執(zhí)行相關(guān) 命令。例如 http://www.xxx.com/image.php?image=file:///etc/passwd http://www.xxx.com/image.php?image=dict://127.0.0.1:22/data:data2 (dict可以向服務(wù) 端口請(qǐng)求data data2) http://www.xxx.com/image.php?image=gopher://127.0.0.1:2233/_test (向2233端口發(fā)送數(shù) 據(jù)test,同樣可以發(fā)送POST請(qǐng)求) 對(duì)于不同語(yǔ)言實(shí)現(xiàn)的web系統(tǒng)可以使用的協(xié)議也存在不同的差異,其中:php:  http、https、file、gopher、phar、dict、ftp、ssh、telnet... java:  http、https、file、ftp、jar、netdoc、mailto...  判斷漏洞是否存在的重要前提是,請(qǐng)求是服務(wù)器發(fā)起的,以上鏈接即使存在并不一定代表這個(gè)請(qǐng)求是服  務(wù)器發(fā)起的。因此前提不滿足的情況下,不需要考慮SSRF。http://www.xxx.com/image.php?image=http://www.xxc.com/a.jpg 前端獲取鏈接后,是由js來(lái)獲取對(duì)應(yīng)參數(shù)交由window.location來(lái)處理相關(guān)的請(qǐng)求,或者加載到當(dāng)前的 iframe框架中,此時(shí)并不存在SSRF ,因?yàn)檎?qǐng)求是本地發(fā)起,并不能產(chǎn)生攻擊服務(wù)端內(nèi)網(wǎng)的需求。

2.2 漏洞出現(xiàn)點(diǎn)

分享 通過(guò)url 地址分享文章,例如如下地址:http://share.magedu.com/index.php?url=http://127.0.0.1 通過(guò)url參數(shù)的獲取來(lái)實(shí)現(xiàn)點(diǎn)擊鏈接的時(shí)候跳到指定的分享文章。如果在此功能中沒(méi)有對(duì)目標(biāo)地址的范圍 做過(guò)濾與限制則就存在著SSRF漏洞。

圖片加載與下載 通過(guò)URL地址加載或下載圖片 http://image.magedu.com/image.php?image=http://127.0.0.1 圖片加載存在于很多的編輯器中,編輯器上傳圖片處,有的是加載本地圖片到服務(wù)器內(nèi),還有一些采用 加載遠(yuǎn)程圖片的形式,本地文章加載了設(shè)定好的遠(yuǎn)程圖片服務(wù)器上的圖片地址,如果沒(méi)對(duì)加載的參數(shù)做 限制可能造成SSRF。

圖片、文章收藏功能 http://title.magedu.com/title?title=http://title.magedu.com/as52ps63de 例如title參數(shù)是文章的標(biāo)題地址,代表了一個(gè)文章的地址鏈接,請(qǐng)求后返回文章是否保存、收藏的返回 信息。如果保存、收藏功能采用了此種形式保存文章,則在沒(méi)有限制參數(shù)的形式下可能存在SSRF。

利用參數(shù)中的關(guān)鍵字來(lái)查找 例如以下的關(guān)鍵字:share wap url link

src source target u 3g display sourceURl imageURL domain ...

2.3 漏洞繞過(guò)

部分存在漏洞,或者可能產(chǎn)生SSRF的功能中做了白名單或者黑名單的處理,來(lái)達(dá)到阻止對(duì)內(nèi)網(wǎng)服務(wù)和資 源的攻擊和訪問(wèn)。因此想要達(dá)到SSRF的攻擊,需要對(duì)請(qǐng)求的參數(shù)地址做相關(guān)的繞過(guò)處理,常見(jiàn)的繞過(guò)方 式如下:

場(chǎng)景1:限制為http://www.xxx.com 域名時(shí) 可以嘗試采用http基本身份認(rèn)證的方式繞過(guò),http://www.xxx.com@www.xxc.com。在對(duì)@解析域名 中,不同的處理函數(shù)存在處理差異,例如:http://www.aaa.com@www.bbb.com@www.ccc.com, 在PHP的parse_url中會(huì)識(shí)別www.ccc.com,而libcurl則識(shí)別為www.bbb.com

場(chǎng)景2:限制請(qǐng)求IP不為內(nèi)網(wǎng)地址 即限制訪問(wèn)所有內(nèi)網(wǎng)IP,可采用短網(wǎng)址繞過(guò),短網(wǎng)址轉(zhuǎn)換。可以使用在線進(jìn)制轉(zhuǎn)換,  127轉(zhuǎn)換16進(jìn)制為7f,系統(tǒng)中表示16進(jìn)制前面要加0x,8進(jìn)制前加0  可以解析為127.0.0.1采用進(jìn)制轉(zhuǎn)換,127.0.0.1八進(jìn)制:0177.0.0.1。十六進(jìn)制:0x7f.0.0.1。十進(jìn)制:2130706433

   

場(chǎng)景3:限制請(qǐng)求只為http協(xié)議 采用302跳轉(zhuǎn),百度短地址,或者使用短地址生成其他

場(chǎng)景4:利用句號(hào)繞過(guò) 127。0。0。1 >>> 127.0.0.1 其他繞過(guò)形式可以查看:https://www.secpulse.com/archives/65832.html

3、查看是否存在SSRF漏洞

  1. 排除法:瀏覽器F12查看源代碼看是否是在本地進(jìn)行了請(qǐng)求 舉例:該資源地址類型為 http://www.xxx.com/a.php?image=(地址)的就可能存在SSRF漏洞。2、Dnslog等工具進(jìn)行測(cè)試,查看是否被訪問(wèn) 生成一個(gè)域名用于偽造請(qǐng)求,看漏洞服務(wù)器是否發(fā)起 DNS 解析請(qǐng)求,若成功訪問(wèn)在 http://DNSLog.cn 上就會(huì)有解析日志。3、抓包分析發(fā)送的請(qǐng)求是不是由服務(wù)器的發(fā)送的,如果不是客戶端發(fā)出的請(qǐng)求,則有可能是,接著找 存在HTTP服務(wù)的內(nèi)網(wǎng)地址。4、訪問(wèn)日志檢查:偽造請(qǐng)求到自己控制的公網(wǎng)服務(wù)器,然后在服務(wù)器上查看訪問(wèn)日志是否有來(lái)自漏洞 服務(wù)器的請(qǐng)求。5、掃描工具

4、Pikachu演示

4.1 SSRF(curl)

首先我們大概了解一下在PHP中curl函數(shù)是用來(lái)干什么的。curl是一個(gè)庫(kù),能讓你通過(guò)URL和許多不同種  的服務(wù)器進(jìn)行交流,并且還支持許多協(xié)議,重點(diǎn)是可以用來(lái)請(qǐng)求Web服務(wù)器。curl可以支持https認(rèn)證、 http  post、ftp上傳、代理、cookies、簡(jiǎn)單口令認(rèn)證等等功能。

   

觀察URL,發(fā)現(xiàn)它傳遞了一個(gè)URL給后 臺(tái)

我們可以把 url 中的內(nèi)容改為百度 http://127.0.0.1/vul/ssrf/ssrf_fgc.php?url=https://www.baidu.com

   

還可以利用file協(xié)議讀取本地文件

   

http://10.0.0.7:81/vul/ssrf/ssrf_curl.php?url=file:///etc/passwd


4.2 SSRF(file_get_content)

file_get_contents() 函數(shù)把整個(gè)文件讀入一個(gè)字符串中,是用于將文件的內(nèi)容讀入到一個(gè)字符串中的首  選方法。如果操作系統(tǒng)支持,還會(huì)使用內(nèi)存映射技術(shù)來(lái)增強(qiáng)性能。php://filter:是一種元封裝器, 設(shè)計(jì)用于數(shù)據(jù)流打開(kāi)時(shí)的篩選過(guò)濾應(yīng)用。 對(duì)于一體式(all-in-one)的 文件函數(shù)非常有用,類似 readfile()、 file() 和  file_get_contents(),在數(shù)據(jù)流內(nèi)容讀取之前沒(méi)有機(jī)會(huì)應(yīng) 用其他過(guò)濾器。php://filter  目標(biāo)使用以下的參數(shù)作為它路徑的一部分。復(fù)合過(guò)濾鏈能夠在一個(gè)路徑上指定。詳細(xì)使用 這些參數(shù)可以參考具體范例。PHP: php:// - Manual

file_get_contents里面帶有php://filter 我們用這個(gè)就可以來(lái)讀取php源碼,所以我們來(lái)構(gòu)造URL:

http://127.0.0.1/vul/ssrf/ssrf_fgc.php?file=php://filter/resource=ssrf.php http://127.0.0.1:8000/vul/ssrf/ssrf_fgc.php? file=php://filter/read=convert.base64-encode/resource=ssrf.php

直接使用 resource 指定 ssrf.php 文件,可以看到訪問(wèn)成功

   

但是php文件被解析了,我們希望拿到網(wǎng)站的源代碼,那么我們需要對(duì)代碼做一層編碼,不讓他解析, 拿到之后我們?cè)龠M(jìn)行解碼,這樣就拿到了網(wǎng)站的源代碼;在read參數(shù)中加入 convert.base64-encode PHP: 轉(zhuǎn)換過(guò)濾器 - Manual

http://127.0.0.1:8000/vul/ssrf/ssrf_fgc.php?file=php://filter/read=convert.base64-encode/resource=ssrf.php

然后網(wǎng)頁(yè)出現(xiàn)了base64編碼的代碼

   

利用解碼工具或hackbar:

   


該文章在 2023/12/7 11:47:23 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved