HeadlinesBriefing favicon HeadlinesBriefing.com

SourceHut XSS в журналах сборки

Hacker News •
×

Добро пожаловать в мой первый отчет об уязвимости с большим влиянием! Я люблю хорошие истории, поэтому сначала опишу немного предыстории. Недавно у меня возникла «отличная» идея настроить экземпляр sr.ht, который платил бы людям за размещение их проектов. Первым шагом было клонирование минимального подмножества репозиториев sr.ht и начало взлома.

Source Hut структурирован в несколько микросервисов, основными из которых являются meta.sr.ht и git.sr.ht или hub.sr.ht. И, конечно, builds.sr.ht, CI. Я попытался посмотреть исходный код страницы журнала сборки, потому что он продолжал прокручиваться туда, куда я не хотел, что меня немного раздражало. Именно тогда я нашел это: /* ... */ .ansi38-150150150 { color: #969696; } /* ... */ Я решил поближе посмотреть, как это делается, и, возможно, исправить.

Я изучил логику преобразования ANSI escape-кодов в HTML и подал заявку на эту проблему. На тот момент в репозитории не было активности более года. Это быстро привело к отправке PR, исправляющего эту конкретную проблему. Учитывая мой опыт Capture The Flag, я начал изучать ansi2html немного больше в поисках других ошибок. Поскольку код еще недостаточно структурирован, мне удалось создать вредоносную входную строку после прочтения этой отличной шпаргалки по XSS.

Первое заслуживает некоторых объяснений. Не знаю почему, но, как вы можете проверить, он анализирует то же DOM-дерево, что и: <a href="https://exa...