Вверх ↑
Ответов: 1501
Noir Villar
Гефест
#0: 2016-02-09 02:02:38 ЛС | профиль | цитата
Собственно прочитав эту тему сразу понял что можно внедрить свой js код на форуме.
Что это дает злоумышленнику?
1) Модификация операций (в том числе передача голд).
2) Кража cookies (не дай бог там храниться зашифрованный пароль) и пароля при его смене (в профиле).
3) Почти любые операции которые приедут в голову.

Ошибка заключается в том, что при добавлении javascript кода, он импортируетсься в тело страницы, что есть очень чревато.

Фикс:
1) Регулярное выражение для ‹a href=""›
2) Конвертирование символов htmlspecialchars() для ‹img src=""›

Почему пассивная
В данном случае нужны действия игрока Б который под любым предлогом заставит игрока А вставить кусочек скрипта в url индикатора

Update (для тега img)

Если в поле изображения для индикатора ввести
x-x" onerror="alert( document.cookie )
Скрипт выполняется без клика

Если будете фиксить, в таком виде тоже работает
x-x" onerror="alert( document.cookie )
карма: 111
0
Тип: ошибка, Статус: отменено
Разработчик
Ответов: 3017
NeverClan
[W] Inactive
#1: 2016-02-09 03:10:02 ЛС | профиль | цитата
Давным давно сообщал об этом гену. Он сказал, что это ерунда. Иначе бы эту тему вообще не создавал.
И вставить скрипт в url индикатора недостаточно, нужно еще и заставить его нажать на индикатор.

Кроме того:
Передача голд невозможна без ввода кодового слова.
Кража пароля также затруднительна, т.к. для этого надо заставить пользователя активировать индикатор прямо на странице смены пароля, что уже выглядит крайне подозрительно.
карма: 125
Ответов: 1501
Noir Villar
Гефест
#2: 2016-02-09 03:13:44 ЛС | профиль | цитата
Создал тему, т.к. можно любой типо-плагин (сказать что новый твой с привата) спокойно втюхать и кликнуть стандартно как и требуется.
Передачу и не нужно инициировать,простая подмена id пользователя, хорошо что хоть подтверждение есть
Если фикса не будет буду только рад, можно будет похимичить (в хорошем смысле).
Но хорошо если никому это не аукнеться
карма: 111
Разработчик
Ответов: 3017
NeverClan
[W] Inactive
#3: 2016-02-09 08:06:35 ЛС | профиль | цитата
Panya писал(а):
Если в поле изображения для индикатора ввести
x-x" onerror="alert( document.cookie )

Это поле я не допроверил. Но это по-любому нужно фиксить. Автоматика ни к чему.
карма: 125
Разработчик
Ответов: 3017
NeverClan
[W] Inactive
#4: 2016-02-09 08:19:43 ЛС | профиль | цитата
Однако все даже хуже, то, что я принял за "режется после кавычки", на деле просто в инпут не выводится, т.е. в поле ссылки тоже после кавычки можно вводить что угодно, и оно будет новым атрибутом тега ‹a›
карма: 125
Ответов: 1501
Noir Villar
Гефест
#5: 2016-02-09 18:38:14 ЛС | профиль | цитата
Assasin, атрибутом возможно и будет, но прочие операции фильтруются (не нашел применения без клика).
карма: 111
Администрация
Ответов: 4613
alpha
лидер
#6: 2016-02-10 16:52:23 ЛС | профиль | цитата
Это очень сложно назвать уязвимостью, т.к. тоже самое достигается на порядок проще, просто попросив игрока вставить в поле ввода адреса javascript:‹какой угодно код› и нажать Enter. Этот кусок скрипта будет исполнен в контексте открытой в данный момент страницы. Таким образом своровать куки можно, но это абсолютно бессмысленное занятие - id сессии, которая в виде куки передается клиенту привязана к его IP и как только он меняется кука становится недействительной. Практика показывается, что если у вас есть возможность что-то втюхивать пользователю, то проще отдать программу, которая запросит логин и пароль, чем так извращаться с индикаторами и вставкой javascript кода.
карма: 1033
Ответов: 1501
Noir Villar
Гефест
#7: 2016-02-10 16:59:39 ЛС | профиль | цитата
admin, а как на счёт поля изображения?
Если подключить скрипт, и автоматически (уже без клика) передавать вводимые данные, это все таки не exe программа, которую в скайпе зачастую принимают за троян, в этом-же случае ничего устанавливать не нужно, кроме как куска кода с url, его легко замаскировать и в любое время изменять/править внешний скрипт на который ссылается url.
XSS довольно опасное явление, не говоря уже про распространение личных данных, хоть и пользователь подвергает себя риску сам, в большинстве случаев допускает возможность программист.

Решать конечно же вам.
карма: 111
Разработчик
Ответов: 3017
NeverClan
[W] Inactive
#8: 2016-02-10 18:03:14 ЛС | профиль | цитата
admin, сейчас уязвимость пофикшена на данный момнет, но вместе с этим и функционал плагинов потерялся. Можно как-нибудь узаконить плагины? Все таки в перспективе можно придумать много полезных фич. Ту же кнопку приглашения в сообщество я бы хотел видеть по умолчанию и без дополнительных кликов в разделе заявок сообщества
карма: 125
Администрация
Ответов: 4613
alpha
лидер
#9: 2016-02-10 21:48:10 ЛС | профиль | цитата
Panya, XSS это внедрение кода на страницу пользователя без его ведома. Не путайте пожалуйста понятия. Если вы даете код пользователю, чтобы он сам его вставил на страницу, то это уже не XSS. Простейший вариант такой "атаки" приведен выше. Таковым бы оно было, если бы можно было настроить индикатор и сделать его доступным для установки другими пользователями.
карма: 1033