### ssrf漏洞一般存在于以下幾種web功能:
1、在線分享:通過URL地址分享網(wǎng)頁內(nèi)容
2、在線識圖
3、在線翻譯:百度翻譯,有道翻譯
4、各大網(wǎng)站訂閱
5、圖片加載與下載:通過URL地址加載或下載圖片
6、圖片、文章收藏功能
7、接收郵件服務(wù)器地址的郵件系統(tǒng)
8、調(diào)用URL的功能
9、文件處理,如ImageMagick,xml
10、請求遠(yuǎn)程服務(wù)器資源,遠(yuǎn)程URL上傳,靜態(tài)資源圖片文件等
11、數(shù)據(jù)庫內(nèi)置功能,比如mongodb的copyDatabase函數(shù)
12、從URL關(guān)鍵字中尋找:share,url,link,src,source,target,sourceURl,imageURL,domain...
### 漏洞驗證方式:
1、右鍵圖片在新窗口打開,如果瀏覽器地址顯示為 www.xxx.com/xx.jpg 類似格式的,說明不存在ssrf漏洞,但是如果資源地址類似 http://www.xxx.com/1.jsp?image= 的格式就有可能存在漏洞。
2、另一種方式是使用抓包工具burp fiddler來判斷,SSRF漏洞是構(gòu)造服務(wù)器發(fā)送請求的安全漏洞,所以就可以通過抓包分析請求是否有服務(wù)端發(fā)起的來判斷是否存在漏洞。
下圖轉(zhuǎn)自土司:
![](/upload/attach/201801/201801051602_bqdw56syxpfbwjz.jpg)
### 防御措施
過濾返回的信息,甚至必要情況下不返回
限制http端口,僅可使用http https
檢查IP是否為內(nèi)網(wǎng)IP,進(jìn)行黑名單過濾
禁止不需要的協(xié)議,gopher,ftp,file協(xié)議等
參考:
[談一談如何在Python開發(fā)中拒絕SSRF漏洞](https://www.leavesongs.com/PYTHON/defend-ssrf-vulnerable-in-python.html)