ssrf漏洞利用

2022-01-10 02:52:45 字數 3014 閱讀 5388

0x00前言

發現最近已經很久沒更新文章了,這裡就先來更新一篇ssrf,這個漏洞也是最近才研究的,以前沒有去挖過此類漏洞,對此漏洞的認知也比較少

0x01漏洞原理

這個漏洞產生是因為伺服器向外部去請求一些資源,例如或者是url的時候就會造成這個漏洞。現在很多**開發的時候也會請求到外部的一些,那麼這樣也很有可能存在ssrf漏洞。

先來看看產生ssrf漏洞的幾個函式。

file_get_contents()

fsockopen()

curl_exec()

0x02 ssrf利用在php裡面使用者幾個函式來請求外部的資源,並且沒做限制和過濾的話就會產生這個ssrf漏洞,

這裡先來編寫一段簡單的ssrf**。

<?php 

function curl($url)

$url = $_get['

url'

];curl($url);

?>

這裡請求以get方式接收url傳參過來資料。

在正常情況下url可能是這樣的

這裡可以看到能利用到ssrf漏洞,訪問到內部的資源,那麼我們是不是可以來嘗試一下能不能訪問他內網的url進行sql注入,但是這裡只會載入部分資源,具體得還得靠字典去掃瞄。

方便演示,直接搭建了個sqli-labs 的靶機在他訪問的內網環境中,用ssrf來請求。

這裡要注意的乙個點是後面輸入的payload 要url編碼,否則會報錯。

這裡直接使用sqlmap來跑,內網的一些**大部分防護比較弱。

在這裡只檢測出來了存在注入,但是缺沒有爆出資料,後面輸入空格的地方沒做編碼可能會報錯

那麼我們使用sqlmap的時候可以加上tamper指令碼,讓空格做個編碼或者是替換。

這裡成功爆出所有資料。

ssrf也可以使用一些偽協議來探測內網的ip和埠,這裡先使用file協議來讀取檔案。

成功訪問到win.ini檔案

這裡編寫了個指令碼使用file協議來使用字典去遍歷檔案。

這裡能直接遍歷到檔案。讓指令碼幫我們完成工作,能讓我們在滲透當中避免不必要的麻煩。

遍歷完檔案後,還可以用ssrf來遍歷埠。

這裡可以直接探測到一些banner資訊,如果沒開放的話,這裡是不會返回任何內容的。

那麼我們這裡肯定也不能使用手工去做探測依然用到我們的指令碼。

可以成功探測出本機ip開放的埠以及版本資訊,在**裡面預設寫的是探測本機的埠,如果想探測其他的內網ip段開放埠的話可以自行修改一下**中的ip。因為先麻煩所以暫時先把它給固定死。專案的位址也在這裡貼出來給各位師傅。

在這裡還有個功能沒寫就是需要遍歷內網存活的80埠,後面也會逐漸完善這個指令碼。

0x03一些小感慨

在這段時間接觸指令碼開發以來,發現原來會開發安全工具的和不會開發的是兩種本質上的區別,從思維上就有很大的區別。不會開發工具的話,話說難聽點就是個工具人。但是會開發工具的缺不一樣,會開發工具的會是乙個開發工具的工具人,哈哈哈。

最近都在完善一些指令碼能力,也在逐漸使用指令碼來完善一些以前有過的一些大膽的想法。

Discuz 3 1 ssrf漏洞利用操作

001 環境搭建 phpstudy win7搭建discuz漏洞環境 把discuz 3.1 原始碼拖到 根目錄,然後訪問upload目錄進行安裝,根據提示即可 安裝完成訪問一波 002 漏洞復現 centos7,臨時關閉防火牆 開啟nc監聽6666埠 nc lvp 6666 檢視centos7的i...

ssrf漏洞內網滲透 ssrf漏洞分析

ssrf漏洞分析 關於ssrf 首先簡單的說一下我理解的ssrf,大概就是伺服器會響應使用者的url請求,但是沒有做好過濾和限制,導致可以攻擊內網。ssrf常見漏洞 首先有三個常見的容易造成ssrf漏洞的函式需要注意 fsockopen file get contents curl exec 下面是...

SSRF漏洞概念

ssrf server side request forgery 伺服器端請求偽造 服務端提供了從其他伺服器應用獲取資料的功能,且沒有對目標位址做過濾與限制 也就是說,對於為伺服器提供服務的其他應用沒有對訪問進行限制 如果我構造好我的訪問包,那我就有可能利用目標服務對他的其他伺服器應用進行呼叫 一般...