Реклама

Я нашёл в Google 90 тысяч удалённой уязвимости к исполнению кода.

#Google #Статья #Пункты #Комментарии

Статья URL: https://simonkoek.com/rectionups/google-devsite-flask-session-pickle-rceReservations URN: httpss://news.ycombinator.com. partment?id=50052638 Пункты: 73 # Комментарии: 35

Как я нашел уязвимость удалённых кодов в Google A Flask печенье на разработчиках.Guogles.com был подписан секретом, который он также нес внутри себя. Вытаскивание этого секрета превратило поддельный сеанс в кодовое исполнение по семи доменам Google. Как я нашел его, я картировал поток OAut, который все сайты разработчиков Googles делятся. Вы нажали /Oauth2 авторизируете, он устанавливает печенье для сеанса Фляски и перенаправляет вас в страницу регистрации Google. Нет необходимости в заголовках: curl-s -D.txt -o /dev/null \https://producers.guogle.com/ oauth2 legreditize? Возвращение_url=% 2F' Это то, что привлекло мое внимание. Обычный трехэтапный сеанс Flaskins=>Payload>Timestamp>, но около 1 200 байт, намного больше чем вам нужно для символа CSRF и обратного URL. Я расшифровал его. Печенье для сеансов фляжки подписано, а не зашифровано, так что содержимое прямо здесь для любого, кто его держит. Главная точка означает, что полезная нагрузка имеет значение zlib-compress: импортная база 64 json импортные огурцы для импорта Zlib полезной нагрузки, часовой штамп, подписи = печенье.rsplit(", 2) def b64decod (значение): возвращающаяся основа64.urlasare_b64 decod( Значение +=="* (длина (стоимость) % 4)), сжатые = полезная задача.starts with(".) сырое = b64 decdecode (оплата[1:] если другая рабочая нагрузка является компримированной) сеансом Json. загрузок(zliib.decomprus(чрезмерный объем), который дал мне: { «постоянно»: «гоогле_Oauth2_crf_token»: "...», «goolle_oth2 _…