Sploitus

Exploit for CVE-2017-9506

kitploit · 2026-08-25

Exploit Code

MARKDOWN38 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-LABSBOTS-CVE-2017-9506
## Доказательство концепции

SSRF & XSS

root@kitploit:~
    
    
    https://jira.you.com//plugins/servlet/oauth/users/icon-uri?consumerUri=http://www.google.co.uk
    

## CVE-2017-9506

Сервлет IconUriServlet плагина OAuth от Atlassian, начиная с версии 1.3.0 до версии 1.9.12 и с версии 2.0.0 до версии 2.0.4, позволяет удалённым злоумышленникам получать доступ к содержимому внутренних сетевых ресурсов и/или выполнять XSS-атаку через подделку серверного запроса (SSRF).

Согласно Atlassian Jira, следующие версии уязвимы:

  * Jira < 7.3.5



## Обзор SSRF

При атаке типа Server-Side Request Forgery (SSRF) злоумышленник может использовать функциональность сервера для чтения или обновления внутренних ресурсов. Он может предоставить или изменить URL, который выполняющийся на сервере код будет читать или отправлять данные. Тщательно подбирая URL, атакующий может получить доступ к конфигурации сервера, такой как метаданные AWS, подключиться к внутренним сервисам, например к базам данных с поддержкой HTTP, или выполнять POST-запросы к внутренним сервисам, которые не предназначены для публичного доступа.

## Описание

Целевое приложение может иметь функциональность для импорта данных из URL, публикации данных в URL или иного чтения данных из URL, который может быть изменён. Злоумышленник модифицирует вызовы этой функциональности, указывая совершенно другой URL или манипулируя тем, как формируются URL (path traversal и т.д.).

Когда изменённый запрос поступает на сервер, код на стороне сервера подхватывает изменённый URL и пытается прочитать данные по нему. Выбирая целевые URL, злоумышленник может получить данные из сервисов, которые напрямую не доступны из интернета:

Метаданные облачных серверов — облачные сервисы, такие как AWS, предоставляют REST-интерфейс по адресу http://169.254.169.254/latest/meta-data/, откуда можно извлечь важную конфигурацию, а иногда и ключи аутентификации.

HTTP-интерфейсы баз данных — NoSQL СУБД, такие как MongoDB, предоставляют REST-интерфейсы на HTTP-портах. Docker и Kubernetes — если локальные порты открыты внутри сети, злоумышленник может создавать/удалять поды и контейнеры, а также получать другие секреты.

Если ожидается, что база данных доступна только изнутри, аутентификация может быть отключена, и злоумышленник сможет извлечь данные. Внутренние REST-интерфейсы.

Файлы — злоумышленник может читать файлы, используя URI вида file://. Также атакующий может использовать эту функциональность для импорта недоверенных данных в код, который ожидает чтения только из доверенных источников, и таким образом обойти проверку ввода.