D2
Администратор
- Регистрация
- 19 Фев 2025
- Сообщения
- 4,380
- Реакции
- 0
Долго думал где же опубликовать эту тему, вроде бы это и уязвимость в web, но по больше части это фишинг, но пусть будет так.
Решил я однажды прогуляться по популярной среди мошенников площадке под названием "Wallapop" (имеет 5 филиалов в разных странах ЕС)
В последнее время их антифрод система сходила с ума, теперь там не только нельзя отправлять фотографии, но и нельзя отправлять ссылки даже на сам Wallapop (при отправке приходит письмо от системы, что ссылка не будет показана продавцу, ведь теперь отправка ссылок на сторонние ресурсы запрещена
), но даже если каким то образом прокинуть её, например "wallapop[.]com 182.phishing.com", то при переходе по ссылке продавец увидит, что редиректы на другие сайты также запрещены. Поняв что в таком направлении я ничего не найду - я решил пройтись по обработке запросов, от регистрации и вплоть до бана аккаунта. Вот что я увидел, общение между покупателем и продавцом у них реализовано с помощью WebSocket (конечно это много где практикуется, но на условном Kleinanzeigen подобного вообще нет, а тут они ещё и не фильтруются). Выложив товар с одного аккаунта и отписав с другого, я заметил что в вебсокетах у них всё открыто 0_0 (на условном vinted, общение реализовано также через WebSocket, однако в запросах будет видно лишь открытие чата и присвоение токена, а о сообщениях вообще и слова не будет)
Тут я подумал, что будет если отправить ссылку и посмотреть что будет в запросе? Ведь по сути сообщение от системы вылезает в самом чате (как и любые действия от системы: покупка, продажа, информация о доставке), и посмотрев на него я очень сильно удивился, ведь всё что отличало системное сообщение, от сообщения юзера - это то, что сообщение было отправлено злоумышленником и отправлено ему же, а также
Код: Скопировать в буфер обмена
И некий
Код: Скопировать в буфер обмена
Подменив обычный запрос с текстом я получил это
А отправив его - ситуация стала ещё смешнее, ведь я получил ответ от сервера, а также увидел что сообщение действительно отправилось продавцу
Став искать дальше, я вспомнил, что на этой площадке продавец может продать свой товар, указав что отдал его лично из рук в руки и получил деньги, в таком случае объявление будет считаться проданным, а продавец сможет оставить отзыв о покупателе, также как и покупатель о продавце. Найдя этот запрос, стало понятно, что единственно чем отличались подобные сообщения - это элемент "type":"review" в <payload>, подменив его и отправив на сервер - вот что пришло продавцу)
Также нашёл некий "Delivery" в "type:", в нём можно было изменить текст и была кнопка, однако при нажатии ничего не происходило (второе сообщение в скрине выше)
Однако всё не так просто! Так как мы перескочили со стадии привязки банковской карты, оплаты и доставки на стадию отзыва - объявление считалось проданным с момента отправки сообщения с типом review, и вот что с ним произошло.
ДО:
ПОСЛЕ:
То есть со стороны продавца и других пользователей - оно считалось проданным и на него нельзя было отписать.
А вот что произойдет если нажать на кнопку Valorar, в сообщении с типом Review от лица покупателя и продавца:
Рейтинг покупателя и продавца, а также раздел с товарами продавца:
Попробовав поиграться с html тегами, типами сообщений - я ничего интересного не нашёл, фотку в чат также отправить не смог, ссылка была некликабельна, так что оставляю это на тех, кому будет интересно. Конечно можно было сделать авторегер и просто выкупить все товары на площадке, чтобы словить лулзы с этого, но так далеко мне было идти не интересно, да и к тому же лень (не знаю что там сейчас, но по последним словам тех, кому я дал это с софтом использующим api mitmproxy под процент - сообщение от системы в таком виде, как делал это я больше не отправить)
P.S: Я не претендую на то, что это дельная статья или я рассказал о WebSocket'ах всё правильно, так как это первая статься и интересная уязвимость, которую я нашёл, а в веб пентесте я всего месяца три. Надеюсь кому то это будет полезно или по крайней мере интересно посмотреть не только на всем известные cve'шки, но и на такой нестандартный подход.
Также извиняюсь, если плохо сформулировал свою мысль и за допущенные грамматические ошибки, так как пишу эту статью с температурой 38.6
Решил я однажды прогуляться по популярной среди мошенников площадке под названием "Wallapop" (имеет 5 филиалов в разных странах ЕС)
В последнее время их антифрод система сходила с ума, теперь там не только нельзя отправлять фотографии, но и нельзя отправлять ссылки даже на сам Wallapop (при отправке приходит письмо от системы, что ссылка не будет показана продавцу, ведь теперь отправка ссылок на сторонние ресурсы запрещена
Тут я подумал, что будет если отправить ссылку и посмотреть что будет в запросе? Ведь по сути сообщение от системы вылезает в самом чате (как и любые действия от системы: покупка, продажа, информация о доставке), и посмотрев на него я очень сильно удивился, ведь всё что отличало системное сообщение, от сообщения юзера - это то, что сообщение было отправлено злоумышленником и отправлено ему же, а также
Код: Скопировать в буфер обмена
Код:
<type xmlns='wallapop:message:type'>
system-message
</type>
И некий
Код: Скопировать в буфер обмена
Код:
<payload>
{"text":"Text", "type:"no_action}
</payload>
Подменив обычный запрос с текстом я получил это
А отправив его - ситуация стала ещё смешнее, ведь я получил ответ от сервера, а также увидел что сообщение действительно отправилось продавцу
Став искать дальше, я вспомнил, что на этой площадке продавец может продать свой товар, указав что отдал его лично из рук в руки и получил деньги, в таком случае объявление будет считаться проданным, а продавец сможет оставить отзыв о покупателе, также как и покупатель о продавце. Найдя этот запрос, стало понятно, что единственно чем отличались подобные сообщения - это элемент "type":"review" в <payload>, подменив его и отправив на сервер - вот что пришло продавцу)
Также нашёл некий "Delivery" в "type:", в нём можно было изменить текст и была кнопка, однако при нажатии ничего не происходило (второе сообщение в скрине выше)
Однако всё не так просто! Так как мы перескочили со стадии привязки банковской карты, оплаты и доставки на стадию отзыва - объявление считалось проданным с момента отправки сообщения с типом review, и вот что с ним произошло.
ДО:
ПОСЛЕ:
То есть со стороны продавца и других пользователей - оно считалось проданным и на него нельзя было отписать.
А вот что произойдет если нажать на кнопку Valorar, в сообщении с типом Review от лица покупателя и продавца:
Рейтинг покупателя и продавца, а также раздел с товарами продавца:
Попробовав поиграться с html тегами, типами сообщений - я ничего интересного не нашёл, фотку в чат также отправить не смог, ссылка была некликабельна, так что оставляю это на тех, кому будет интересно. Конечно можно было сделать авторегер и просто выкупить все товары на площадке, чтобы словить лулзы с этого, но так далеко мне было идти не интересно, да и к тому же лень (не знаю что там сейчас, но по последним словам тех, кому я дал это с софтом использующим api mitmproxy под процент - сообщение от системы в таком виде, как делал это я больше не отправить)
P.S: Я не претендую на то, что это дельная статья или я рассказал о WebSocket'ах всё правильно, так как это первая статься и интересная уязвимость, которую я нашёл, а в веб пентесте я всего месяца три. Надеюсь кому то это будет полезно или по крайней мере интересно посмотреть не только на всем известные cve'шки, но и на такой нестандартный подход.
Также извиняюсь, если плохо сформулировал свою мысль и за допущенные грамматические ошибки, так как пишу эту статью с температурой 38.6