第二章ssrf 常見**實現
第三章 ssrf利用
第四章 ssrf 的防禦
第一節 ssrf 概述
網際網路上的很多web 應用提供了從其他伺服器(也可以是本地)獲取資料的功能。
ssrf(server-side request forgery,伺服器端請求偽造)是一種攻擊者發起的偽造由伺服器端發起請求的一種攻擊,也是常見web 安全漏洞(缺陷或者風險)之一。
第二節 ssrf 危害埠掃瞄
內網web 應用指紋識別
攻擊內網web 應用
讀取本地檔案
在伺服器端實現通過url
從伺服器(外部或者內部)獲取資源功能的方法有很多,此處使用php 語言和curl擴充套件實現改功能。
通過phpinfo() 函式檢視對curl 擴充套件的支援
,現在大部分wamp 套件均支援curl 擴充套件。
伺服器端**如下
<?phpif(
isset
($_request
['url'])
)else
?>
將以上**儲存成檔案[ssrf_curl.php]。
該段**實現了從伺服器獲取資源的基本功能,提交
[?url= ]
頁面就會載入百***首頁的資源。
同時,獲取的資源檔案會儲存在[./curled]中,並以發起請求時間的unix 時間戳命名。
第一節 訪問正常檔案訪問正常的檔案,提交引數[?url=/robots.txt]
第二節 埠掃瞄
(掃瞄內網的機器的埠)
當訪問未開放埠,指令碼會顯示空白或者報錯。提交引數[?url=dict:
當訪問開放埠時,指令碼會顯示banner 資訊。
提交引數[?url=dict:有成功率)
提交引數[?url=dict:
提交引數[?url=dict:
第三節 讀取系統本地檔案利用file 協議可以任意讀取系統本地檔案,提交引數\
[?url=file://c:\windows\system32\drivers\etc\hosts]
第四節 內網web 應用指紋識別識別內網應用使用的框架,平台,模組以及cms可以為後續的滲透測試提供很多幫助。
大多數web應用框架都有一些獨特的檔案和目錄。
通過這些檔案可以識別出應用的型別,甚至詳細的版本。
根據這些資訊就可以針對性的蒐集漏洞進行攻擊。
比如可以通過訪問下列檔案來判斷phpmyadmin是否安裝以及詳細版本。
[?url=http://localhost/phpmyadmin/readme]
第五節 攻擊內網應用內網的安全通常都很薄弱,溢位、弱口令等一般都是存在的。
通過ssrf攻擊,可以實現對內網的訪問,從而可以攻擊內網應用或者本地機器,獲得shell,這裡的應用包括服務、web 應用等。
僅僅通過get方法可以攻擊的web應用有很多,比如struts2命令執行等。
第一節 限制協議僅允許http和https請求。
第二節 限制ip避免應用被用來獲取內網資料,攻擊內網。
第三節 限制埠限制請求的埠為http常用的埠,比如,80,443,8080,8090。
第四節 過濾返回資訊驗證遠端伺服器對請求的響應是比較簡單的方法。
第五節 統一錯誤資訊免使用者可以根據錯誤資訊來判斷遠端伺服器的埠狀態
知識點總結
1,迴圈中的中斷 continue 跳出此次迴圈,繼續for迴圈 break 跳出當前for迴圈 return 跳出當前方法 2,字串的操作 componentseparatedbystring stringbyreplacingoccurencesofstring withstring iskin...
知識點總結
oncreate onstrat onresume onpause onstop onrestart ondestroy standard 啟動activity都會產生乙個新的activity 預設模式 singletop 啟動activity允許多個,但不允許重疊 singletask 只允許有乙...
知識點總結
function go go 呼叫 go為變數名 setinterval go,1000 1000ms clearinterval 關閉定時器 function abc a,b 2,3 5undefined 未定義 null 空 nan 非數值 string 字串 var a 123 數字型別 va...