@ninesigns на самом деле жаловаться надо штелетте или разработчику своего брувзера, потому что мяу напрямую тянет сокеты с wss://bnw.im и юзает нативные брузирные сокеты без костылей, кароч там нечему на стороне мяу ломаться
@postman че? мяу - это просто статичный фронтенд для бнвача. один html-файл, один css-файл, один js-файл. Все данные мяу берет через официальное апи бнвача: https://bnw.im/api включая вебсокеты, которые раздаются с сервера бнв.
//какая утечка еще
@krkm Учти, что этот "один жс-файл" получает полный доступ к вебсокету, т.е. имеется возможность получать приватные сообщения (если бы они были), ну или там спалить, кто у кого в блеклисте, по идее. Без необходимости логина.
@postman Во-первых, у этого жс-файла и так полный доступ из возможных: он знает твой логин-токен.
Во-вторых, приватных вебсокетов в бнв нет. Все вебсокеты доступны без авторизации: есть вебсокет главной, куда сыпятся все новые посты, есть вебсокет юзера, куда сыпятся все новые посты этого юзера, есть вебсокет треда, куда сыпятся все комментарии этого треда. Веб-сокета приватных сообщений, например, вообще нет. Они сразу же отправляются в жаббер адресата и нигде не сохраняются.
@postman > С хуев-то он знает мой логин-токен?
А каким хуем по-твоему оно тебя авторизовывает в бнваче? Либо ты переходишь по ссылке вида https://meow.bnw.im/login?key=huypizda и этот токен сохраняется в localStorage и потом в апи-запросах к бнвачу передается параметром, либо ты авторизовываешься через форму по логину и паролю, мяу дергает апи-метод passlogin, который на правильные реквизиты возвращает логин-токен, который мяу, опять же, сохраняет в localStorage
> Насчет "неприватных вебсокетов" я тоже думаю, что ты мне пиздишь
вот код который юзает вебсокеты в мяу: https://github.com/Kagami/bnw-meow/blob/master/app/scripts/lib/websocket_handler.coffee
там нет таких сокетов, которые бы дергались вместе с токеном, т.е. нет приватных.
можешь у штилетты спросить, но, например, апи/вебсокетов для приватных сообщений в бнв никогда не будет, просто потому, что они нигде в бнв не сохраняются - сразу форвардятся на примари жыд получателя (который соснет если у него жабер-сервер не примет это сообщение, например, из-за переполнения числа оффлайн-сообщений).
@krkm А кто сказал, что я аутентифицируюсь в кагамиговне? В этом и состоит главная проблема. Вебсокет-подключение юзает куки bnw.im, к которым у других параш нет доступа.
@postman Покажи мне как meow (или ты) спиздишь куки бнв через API/вебсокеты.
Желательно в виде странички на которую я зайду, а ты сможешь что-то сделать от моего имени.
@stiletto Никто не говорил про пиздинг кук, говорили про CSRF-esque уязвимость.
сделать
У тебя большинство действий требуют логинкей в параметрах, через ws максимум можно блеклист косвенно спалить (и это я еще не проверял точно в сорцах, можно ли), и мне лень ебаться с пруфом.
@postman Через вебсокеты нельзя спалить ничего - их выхлоп не содержат персонализированных данных и не требует авторизации.
То что API требует логинкей в параметрах, а не в куке это умышленная мера против CSRF.
Все формочки в базовом веб-ебале авторизуемые куками содержат анти-CSRF-токены.
@stiletto С вебсокетами разобрались, а вот у кагамиговна интересный кросдоменный запрос на /show с аргмуентом use_bl=1. В заголовке allow-origin от бнв вайлдкард. На что влияет show_bl?
@postman Не на /show, а на /api/show
Я уже сказал, что авторизация в API работает ТОЛЬКО через логинкей в параметрах. Нет логинкея - нет персонализации и блеклиста.
у меня тоже
@anonymous я жаловался куркуме, он сказал посмотреть в консоль разработчика, я посмотрел, но ничего там не увидел
@krkm Чужое не трогай. Еще и утечка приватных данных.
@krkm Учти, что этот "один жс-файл" получает полный доступ к вебсокету, т.е. имеется возможность получать приватные сообщения (если бы они были), ну или там спалить, кто у кого в блеклисте, по идее. Без необходимости логина.
@krkm С хуев-то он знает мой логин-токен? Насчет "неприватных вебсокетов" я тоже думаю, что ты мне пиздишь, но мне лень копаться в сорцах.
@krkm А кто сказал, что я аутентифицируюсь в кагамиговне? В этом и состоит главная проблема. Вебсокет-подключение юзает куки bnw.im, к которым у других параш нет доступа.
Похуй на него, важен код вебсокетов на бнваче.
@krkm Сам выучи, клоун.
@stiletto Никто не говорил про пиздинг кук, говорили про CSRF-esque уязвимость.
У тебя большинство действий требуют логинкей в параметрах, через ws максимум можно блеклист косвенно спалить (и это я еще не проверял точно в сорцах, можно ли), и мне лень ебаться с пруфом.
@stiletto С вебсокетами разобрались, а вот у кагамиговна интересный кросдоменный запрос на /show с аргмуентом use_bl=1. В заголовке allow-origin от бнв вайлдкард. На что влияет show_bl?