LINUX.ORG.RU

Дырка в движке лора


0

0

Любой сайт, который вы посещаете, может с помощью вашего браузера запостить сообщение от вашего имени сообщение на лоре или произвести любую другую активность.

Проверка

Результат

Решение:

1) не допускать никакие изменения иначе как через POST;

2) при POST передавать ID сессии как скрытое поле и проверять его (даже для анонимных пользователей) либо проверять соответствие Referrer (но лучше все-таки скрытое поле, так как домены могут быть разные).


Re: Дырка в движке лора

класс, работает ведь, проверил.

adminchik ()

Re: Дырка в движке лора

контора пишет логи?

adminchik ()
Ответ на: Re: Дырка в движке лора от adminchik

Re: Дырка в движке лора

Можно модерам кидать ссылки типа "зацените прикол на сайте toozeg.narod.ru" на создание и подтверждение нецензурных новостей. :)

true ()

Re: Дырка в движке лора

эээ... ммм.. а я сегодня вообще ничего на лор не писал, это все он, вот этот гаткий скрипт, да да, а я, а я спал, я нипричем!!! :)

adminchik ()

Re: Дырка в движке лора

>но лучше все-таки скрытое поле, так как домены могут быть разные

Хотя вру. Можно просто проверять, чтобы Referrer начинался с "http://" (или "https://", если соединение через SSL) + SERVER_NAME + "/".

true ()

Re: Дырка в движке лора

>1) не допускать никакие изменения иначе как через POST;

на javascript можно и POST делать ;)

>2) при POST передавать ID сессии как скрытое поле и проверять его (даже для анонимных пользователей)

ID уже есть в куках(их можно украсть) лучше какой-то другой ID(но это уже гемор)

>либо проверять соответствие Referrer (но лучше все-таки скрытое поле, так как домены могут быть разные).

Если очень захотеть можно и Referer нарисовать ;)

более-менее надежное спасение - HTTPS ;) "Более-менее" т.к. возможно MIM-атака(кто бы такое делал с лором?), ну и в SSL бывают баги(правда их нетривиально использовать)

AcidumIrae ★★★★★ ()
Ответ на: Re: Дырка в движке лора от true

Re: Дырка в движке лора

>Хотя вру. Можно просто проверять, чтобы Referrer начинался с "http://"(или "https://", если соединение через SSL) + SERVER_NAME + "/".

от тех, кто ходит под оффтопиком с експлорером(интересно такие бывают?) не спасет ;)

AcidumIrae ★★★★★ ()

Re: Дырка в движке лора

Скажите оно только у меня не работает?

Ygor ★★★★★ ()

Re: Дырка в движке лора

странно, у меня не работает

JB ★★★★★ ()

Re: Дырка в движке лора

Круто...

Teak ★★★★★ ()
Ответ на: Re: Дырка в движке лора от AcidumIrae

Re: Дырка в движке лора

>>1) не допускать никакие изменения иначе как через POST;

>на javascript можно и POST делать ;)

Что я и продемонстрировал.

>>2) при POST передавать ID сессии как скрытое поле и проверять его (даже для анонимных пользователей)

>ID уже есть в куках(их можно украсть) лучше какой-то другой ID(но это уже гемор)

Куки посылаются только на оригинальный сервер. Man-in-the-middle в данный момент не рассматриваем.

>>либо проверять соответствие Referrer (но лучше все-таки скрытое поле, так как домены могут быть разные).

>Если очень захотеть можно и Referer нарисовать ;)

Как ты в браузере клиента нарисуешь referrer другого сайта?

>более-менее надежное спасение - HTTPS ;) "Более-менее" т.к. возможно MIM-атака(кто бы такое делал с лором?), ну и в SSL бывают баги(правда их нетривиально использовать)

Man-in-the-middle при SSL не возможен при условии использования сертификата, выданного Thawte/Verisign/что-то в этом роде. Даже при SSL. От продемонстрированного метода SSL не спасает.

true ()

Re: Дырка в движке лора

У меня не работает.

Use NoScript it rocks!

ansi ★★★★ ()
Ответ на: Re: Дырка в движке лора от JB

Re: Дырка в движке лора

>странно, у меня не работает

Можно подробности (какой браузер, включен ли жабоскрипт, есть ли какие-то сообщения в консоли ошибок при посещении, нажимаешь ли на линк или копируешь и вставляешь в другом окне)? Мой скрипт смотрит ник в Referrer, соответственно по нему и делает POST.

true ()
Ответ на: Re: Дырка в движке лора от ansi

Re: Дырка в движке лора

>Use NoScript it rocks!

Можно и без жабоскрипта сделать. Referrer смотреть на сервере, вбивать его в HTML, сделать поле ввода и кнопку типа Search. Нажимаешь ее, а форма постится на лор. :) Или с помощью GETа - делаем iframe или даже img, нажатие кнопки не требуется.

true ()
Ответ на: Re: Дырка в движке лора от true

Re: Дырка в движке лора

> Можно подробности (какой браузер, включен ли жабоскрипт, есть ли какие-то сообщения в консоли ошибок при посещении, нажимаешь ли на линк или копируешь и вставляешь в другом окне)?

firefox 2.0.0.3, в настройках java script все галочки убраны, ошибок никаких нет, тупо кликаю по ссылке и попадаю на чистую страницу

JB ★★★★★ ()
Ответ на: Re: Дырка в движке лора от JB

Re: Дырка в движке лора

>firefox 2.0.0.3, в настройках java script все галочки убраны, ошибок никаких нет, тупо кликаю по ссылке и попадаю на чистую страницу

Т. е. сам жабоскрипт отключен?

true ()
Ответ на: Re: Дырка в движке лора от JB

Re: Дырка в движке лора

У меня Konqueror 3.5.6, точно так же реагирует. Java/javascript включены.

Casus ★★★★★ ()
Ответ на: Re: Дырка в движке лора от true

Re: Дырка в движке лора

> Т. е. сам жабоскрипт отключен?

включен. Отключена фигня типа "resize or move existing window", "disable or replace context menus" и тд

JB ★★★★★ ()
Ответ на: Re: Дырка в движке лора от true

Re: Дырка в движке лора

На работе ff-2.0.3 дома ff-2.0.0pre ни дома ни на работе не работает, ошибок нет, жава-скрипт включен.

Ygor ★★★★★ ()
Ответ на: Re: Дырка в движке лора от Ygor

Re: Дырка в движке лора

О щас вылезла лоровская страничка по этому адресу и написано "сбой добавления" Похоже это только у oper'ников работает :-)

Ygor ★★★★★ ()
Ответ на: Re: Дырка в движке лора от Ygor

Re: Дырка в движке лора

>О щас вылезла лоровская страничка по этому адресу и написано "сбой добавления"

Это я фрейм отресайзил для дебага.

>Похоже это только у oper'ников работает :-)

Нет, у меня в Firefox работало.

Теперь не работает. Исправили что ли уже? :)

true ()
Ответ на: Re: Дырка в движке лора от true

Re: Дырка в движке лора

Если так быстро исправили - респект. :)

Кстати, это не только при добавлении сообщений может случиться. Позже проверим остальные случаи.

true ()

Re: Дырка в движке лора

Решение неверное, правильно: либо запретить ссылки, либо перенаправлять на редиректор, который почистит, а потом уже отправит по ссылке.

anonymous ()
Ответ на: Re: Дырка в движке лора от anonymous

Re: Дырка в движке лора

>Решение неверное, правильно: либо запретить ссылки, либо перенаправлять на редиректор, который почистит, а потом уже отправит по ссылке.

Это ровным счетом ни от чего не спасет. Ну, ник я допустим не узнаю, но я могу нацелить на одного пользователя (например, только на maxcom). POST ведь я могу сделать с любого сайта, и при этом POSTе будут использованы куки, хранящиеся в браузере.

true ()

Re: Дырка в движке лора

Всегда говорил, что дырявость сайта от языка написания не зависит никак.

r_asian ☆☆☆ ()

Re: Дырка в движке лора

Теперь то же самое с комментариями (идите по ссылке вверху и смотрите комментарий внизу топика).

true ()
Ответ на: TEST от JB

Re: TEST

надо же, работает :)

JB ★★★★★ ()
Ответ на: TEST от JB

Re: TEST

мне уже страшно

Pi ★★★★★ ()
Ответ на: Re: TEST от Pi

Re: TEST

> мне уже страшно

у кого хватит духу сообщить об этом баге макскому лично? рассылку он похоже не читает ;)

JB ★★★★★ ()
Ответ на: Re: TEST от JB

Re: TEST

~_~ на этот раз работает...

Ygor ★★★★★ ()

Re: Дырка в движке лора

см. удаленые комменты :)

mutronix ★★★★ ()

Re: Дырка в движке лора

но ведь труъ лоровцы по ссылкам не ходят, следовательно, дырка неопасная (:

dm_f ()

Re: Дырка в движке лора

true, убери мат из своего скрипта пожалуйста, пострадают невинные лоровцы ;)

JB ★★★★★ ()

Re: Дырка в движке лора

Жесть :)

kaktyc ★★★★ ()

Re: Дырка в движке лора

А вообще эта дырка есть на подавляющем большинстве сайтов. :)

true ()
Ответ на: Re: Дырка в движке лора от sdio

Re: Дырка в движке лора

И все путем.

Error: RegExp("^http://[^/]+/profile/[^/]+/").exec(document.referrer) has no properties
Source File: http://87.226.25.208/
Line: 20

sdio ★★★★★ ()
Ответ на: Re: Дырка в движке лора от sdio

Re: Дырка в движке лора

>Поставил расширение No-Referrer (https://addons.mozilla.org/en-US/firefox/addon/1999)

>И все путем.

>Error: RegExp("^http://[^/]+/profile/[^/]+/").exec(document.referrer) has no properties Source File: http://87.226.25.208/ Line: 20

Это ни от чего не спасает. Я могу намертво вбить в action любой конкретный ник.

true ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.