Перейти к контенту

Уязвимости форумов Invision Power Board


Рекомендуемые сообщения

Хм, откуда такие выводы?

Да так, личные опыты + ответы людей в этом форуме :D

 

От каких настроек зависит?

Абслоютно без понятия.

От каких-то настроек безопасности, очевидно .......

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 1,2k
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Загружено фотографий

Хм, откуда такие выводы?

Да так, личные опыты + ответы людей в этом форуме :D

 

От каких настроек зависит?

Абслоютно без понятия.

От каких-то настроек безопасности, очевидно .......

 

Вы заблуждаетесь.

Ссылка на комментарий
Поделиться на других сайтах

Vicer, ну а если отключить magic_quotes_gpc.

Насколько Форуму хуже станет?!

 

Хуже не станет :D

 

Не думаю, что безопасность хорошего скрипта должна зависеть от параметров интерпретатора.
Любая система зависит от внешних параметров, и чем она сложнее, тем зависимее.
Ссылка на комментарий
Поделиться на других сайтах

Любая система зависит от внешних параметров, и чем она сложнее, тем зависимее.

2.0.4 от этого не страдает, так что не надо ля-ля :D

Ссылка на комментарий
Поделиться на других сайтах

Еще можна проверять на наличие только алфавитно-цифровых символов

 

например, так:

 

$pid = (!preg_match('/^([0-9A-Za-z]){32}$/', $std->my_getcookie('pass_hash')))?$std->my_getcookie('pass_hash'):"";

 

Что скажете?

 

А это не повлияет на вход если у некоторых имена на кирилице?

Ссылка на комментарий
Поделиться на других сайтах

ааа

так это к паролям относиться? :D а есть же народ который и на кирилице пароли наберает ;)

Ссылка на комментарий
Поделиться на других сайтах

пароли в куках хранятся в MD5 хеше, а он представляет собой 32х символьную алфавитно-цифровую последовательность, без пробелов, кавычек и всяких других символов, а значит... )))) зачем нам давать возможность что-либо туда подставлять...
Ссылка на комментарий
Поделиться на других сайтах

Млин, я только что втыкнул, какую я оопечатку здесь допустил

 

Это правильно

 

$pid = $std->my_getcookie('pass_hash');
меняем на
$pid = (strlen(trim($std->my_getcookie('pass_hash')))==32)?$std->my_getcookie('pass_hash'):"";

 

а в таком варианте не

 

$pid = (!preg_match('/^([0-9A-Za-z]){32}$/', $std->my_getcookie('pass_hash')))?$std->my_getcookie('pass_hash'):"";

 

так как автологин вообще отключится, а

 

$pid = (preg_match('/^([0-9A-Za-z]){32}$/', $std->my_getcookie('pass_hash')))?$std->my_getcookie('pass_hash'):"";

;):) извините, не бейте сильно, хотя, судя по отсутствию комментов использовали в основном первый вариант :D

Ссылка на комментарий
Поделиться на других сайтах

Vicer

на самом деле, просто никто не пользуется автологином :)

в том смысле, что данный фикс (а соответсвенно и баг) относится к случаю, когда идет запрос типа

index.php?act=Login&CODE=autologin

 

на самом деле этот запрос вообще не нужен - при заходе на любую страницу форум тебя авторизует по кукам и без вызова этого автологина :)

просто через functions.php -> authorise()

 

вот так ;)

 

 

ЗЫ А запросы с act=Login&CODE=autologin используются только после регистрации или подтверждения емайл юзера.

из-за такой мелочи (фактически ненужной) - такая "шикарная" уязвимость :D

Ссылка на комментарий
Поделиться на других сайтах

Vicer

так что!?

$pid = (!preg_match('/^([0-9A-Za-z]){32}$/', $std->my_getcookie('pass_hash')))?$std->my_getcookie('pass_hash'):"";

этот вариант можно не использовать!?

я выбрал первый.

так всё? баг закрыт получается?

 

ImUgh

еще раз

можно? :D я не совсем врубился...

как отключить автологин? или же он включается только когда регистрируется?

спасибо

Ссылка на комментарий
Поделиться на других сайтах

Vicer

так что!?

$pid = (!preg_match('/^([0-9A-Za-z]){32}$/', $std->my_getcookie('pass_hash')))?$std->my_getcookie('pass_hash'):"";

этот вариант можно не использовать!?

я выбрал первый.

так всё? баг закрыт получается?

 

Если первый, то закрыт, если второй, который в предыдущем посте, с попроавкой,

$pid = (preg_match('/^([0-9A-Za-z]){32}$/', $std->my_getcookie('pass_hash')))?$std->my_getcookie('pass_hash'):"";

то тоже закрыт. и там тем более ни при каких случаях не пролезут :D

Ссылка на комментарий
Поделиться на других сайтах

2Vicer

а как насчет вотэтих слов:

>>Понимаю, что временная заплата, но уж лучше, чем к утру потерять форум

 

т.е. есть еще теоретически лазейка?

 

Ну и вот еще задачка:

18 мая 2005

 

Межсайтовый скриптинг при обработке utf-7 кодировки в различных форумах

 

Уязвимость позволяет удаленному пользователю произвести XSS нападение и получить доступ к потенциально важным данным других пользователей.

Программа: vBulletin, Invision Power Board, Phorum, Web Wiz и другие форумы

 

Опасность: Низкая

 

Наличие эксплоита: Да

 

Описание:

Уязвимость позволяет удаленному пользователю произвести XSS нападение и получить доступ к потенциально важным данным других пользователей.

 

Уязвимость существует при установленном автоматическом выборе кодировки в браузере. Удаленный пользователь может обойти правила фильтрации потенциально опасных символов в различных форумах, сохранив злонамеренный HTML код в кодировке utf-7 и выполнить его в браузере жертвы в контексте безопасности уязвимого сайта. Пример:

 

<title>vBulletin Community Forum - +ADw-/title+AD4APA-script+AD4-alert(document.cookie)+ADsAPA-/script+AD4-</title>

 

Решение: Способов устранения уязвимости не существует в настоящее время.

securitylab.ru

Ссылка на комментарий
Поделиться на других сайтах

dfc_darkman

 

еще раз можно?  я не совсем врубился...

как отключить автологин? или же он включается только когда регистрируется?

спасибо

не надо ничего отключать :D

я говорил, что запрос с автологинм используется только после регистрации.

поэтому ошибку во втором варианте заплатке от Vicer никто и не заметил.

Ссылка на комментарий
Поделиться на других сайтах

Verify мин нет :D

 

в sources/Login.php

 

 $pid = $std->my_getcookie('pass_hash');
меняем на
$pid = (preg_match('/^([0-9A-Za-z]){32}$/', $std->my_getcookie('pass_hash')))?$std->my_getcookie('pass_hash'):"";

Ссылка на комментарий
Поделиться на других сайтах

Verify мин нет :D

 

в sources/Login.php

 

 $pid = $std->my_getcookie('pass_hash');
меняем на
$pid = (preg_match('/^([0-9A-Za-z]){32}$/', $std->my_getcookie('pass_hash')))?$std->my_getcookie('pass_hash'):"";

на 1.3 всё равно хачится.

Ссылка на комментарий
Поделиться на других сайтах


×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.