(Blind SSRF) Слепая подделка запросов на стороне сервера
В этом разделе мы объясним, что такое «слепая» подделка серверных запросов, опишем распространенные примеры Blind SSRF и расскажем, как находить и эксплуатировать
Что такое слепой SSRF?
Уязвимости Blind SSRF возникают, когда приложение можно побудить выполнить бекэнд HTTP-запрос по переданному URL, но ответ на этот бекэнд-запрос не возвращается во фронтенд-ответе приложения.
Каковы последствия уязвимостей Blind SSRF?
Воздействие уязвимостей Blind SSRF часто ниже, чем у полноценных уязвимостей SSRF, из‑за их односторонней природы. Их нельзя тривиально использовать для извлечения конфиденциальных данных из бекэнд-систем, хотя в некоторых ситуациях их можно эксплуатировать для достижения полного удаленного выполнения кода (RCE).
Как находить и эксплуатировать уязвимости Blind SSRF
Самый надежный способ обнаружения уязвимостей Blind SSRF — применение техник out-of-band (OAST). Это включает попытку спровоцировать HTTP-запрос к внешней системе, которой вы управляете, и мониторинг сетевых взаимодействий с этой системой.
Самый простой и эффективный способ использовать техники out-of-band — через Burp Collaborator. Вы можете использовать Burp Collaborator, чтобы генерировать уникальные доменные имена, отправлять их в качестве полезных нагрузок (payloads) приложению и отслеживать любые взаимодействия с этими доменами. Если наблюдается входящий HTTP-запрос, исходящий от приложения, значит, оно уязвимо к SSRF.
Простое выявление уязвимости Blind SSRF, способной инициировать out-of-band HTTP‑запросы, само по себе не обеспечивает путь к эксплуатации. Поскольку вы не можете видеть ответ на бекэнд‑запрос, это поведение нельзя использовать для изучения содержимого на системах, до которых может дотянуться сервер приложения. Однако его можно задействовать для зондирования других уязвимостей на самом сервере или на других бекэнд‑системах. Вы можете вслепую просканировать внутреннее IP‑адресное пространство, отправляя полезные нагрузки, предназначенные для детектирования широко известных уязвимостей. Если эти полезные нагрузки также используют «слепые» out-of-band техники, вы можете обнаружить критическую уязвимость на непропатченном внутреннем сервере.
Еще один путь эксплуатации уязвимостей Blind SSRF — побудить приложение подключиться к системе, находящейся под контролем злоумышленника, и возвращать вредоносные ответы HTTP‑клиенту, который выполняет соединение. Если вы сможете эксплуатировать серьезную уязвимость на стороне клиента в реализации HTTP‑клиента сервера, вы можете добиться удаленного выполнения кода в инфраструктуре приложения.
Last updated