Algol Опубликовано 14 Января 2005 Жалоба Поделиться Опубликовано 14 Января 2005 $txt = str_replace("`", "'", $txt);Это уязвимость не фиксит ... Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 14 Января 2005 Жалоба Поделиться Опубликовано 14 Января 2005 Song ну так из за нестандарта и выходит всякая хрень вроде XSS... Я еще пока не видел ни одного форума, что бы на нем 60% пользователей использовали нестандартные цвета, нестандартные шрифт и нестандартные размеры шрифта. Добавлено в [mergetime]1105702766[/mergetime] Это уязвимость не фиксит ...угу мне то же показалось что то исправление больше конкретного метода использования уязвимости, нежели самой причины уязвимости =] Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 14 Января 2005 Жалоба Поделиться Опубликовано 14 Января 2005 GiV у нас подсветка синтаксиса, там используются нестандартные цвета.И тильды мне заменять тоже нехорошо, т.к. они нужны для MySQL кода. Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 14 Января 2005 Жалоба Поделиться Опубликовано 14 Января 2005 у нас подсветка синтаксиса, там используются нестандартные цвета.стоять! А там что используется color тэг? Ну пож-та, вот регэксп для нестандартных цветов =) \+)\] поидее работать должно =) Я не против фикса с seclab, но там регэксп всетаки очень широкий. Например можно использовать пробел в тэге фонта =) А зачем? Вот этот регэксп \*)\] читается такдолжно быть слово [font= дальше может идти все кроме ';', '<', '>', '*', '(', ')', '"', "'". Правило на самом деле очень широкое и оно трактуется так - разрешено все что не запрещено, а что запрещено у нас я перечислил выше. Теперь мой регэксп \+)\]должно быть слово [font=дальше может идти только слово из символов латинского алфавита a-z. А вот это правило запрещает все что не разрешено. Т.е. я все нестандартные ситуации убил на корню, а вот в секурном реге, нестандартные ситуации могут все таки появится... P.S. насколько я помню квантификатор повторений '*' говорит о том что идушая перед ним запись может быть повторена несколько раз, а может быть и не появится ни разу. Т.е. ([^;<>\*\(\)\"']*) посути разрешает теги [font=]. Хотя я могу ошибаться. =) Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 14 Января 2005 Жалоба Поделиться Опубликовано 14 Января 2005 стоять! А там что используется color тэг?Да. Насчёт фонта я с тобой согласен. Ссылка на комментарий Поделиться на других сайтах Прочее
zdi Опубликовано 14 Января 2005 Жалоба Поделиться Опубликовано 14 Января 2005 Подскажите, что делать если форум уже взломан. Было размещено первое сообщение, после этого взломщик уже под администратором написал темы, в которой просил всех отметиться. Просить всех сменить пароли, или ещё что-то? Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 14 Января 2005 Жалоба Поделиться Опубликовано 14 Января 2005 нужно вылавливать код вредоносный... Ссылка на комментарий Поделиться на других сайтах Прочее
zdi Опубликовано 14 Января 2005 Жалоба Поделиться Опубликовано 14 Января 2005 Код выловил элементарно. В базе через myadmin (лучше там, чтобы наверняка и из сообщения, и из писем) нашёл и вырезал все ссылки на античат (в основном все использовали снифер оттуда), также проверил на другие участки кода. Забанил 2 ип, которые засветились. Написал всем сменить пароли. Проверил сервер - папки смайлов и аплоада, всё чисто. Думаю пронесло. Ещё что-то стоит сделать? Ссылка на комментарий Поделиться на других сайтах Прочее
Algol Опубликовано 14 Января 2005 Жалоба Поделиться Опубликовано 14 Января 2005 Теперь мой регэксп \+)\]должно быть слово [font=дальше может идти только слово из символов латинского алфавита a-z. А вот это правило запрещает все что не разрешено. Т.е. я все нестандартные ситуации убил на корню, а вот в секурном реге, нестандартные ситуации могут все таки появится... А как же названия шрифтов, состоящих из нескольких слов, разделенных пробелами??Например Times New Roman у тебя не пройдет Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 14 Января 2005 Жалоба Поделиться Опубликовано 14 Января 2005 Algol нет естественно, я же говорю смысла не вижу, продвинутых пользователей от силы 5% Ссылка на комментарий Поделиться на других сайтах Прочее
yarweb Опубликовано 15 Января 2005 Жалоба Поделиться Опубликовано 15 Января 2005 А вот такая замена не устранит проблему?в функции regex_font_attr() всё в том же файле post_parserelse if ($IN['s'] == 'col') { return "<span style='color:".$IN['1']."'>".$IN['2']."</span>"; }заменить наelse if ($IN['s'] == 'col') { return "<font color=".$IN['1']."'>".$IN['2']."</font>"; } и аналогично замена style на font для размера и шрифтатогда не сможем воспользоваться ява который можно в style внедрить Ссылка на комментарий Поделиться на других сайтах Прочее
DJ_KISSLOTNIY Опубликовано 15 Января 2005 Жалоба Поделиться Опубликовано 15 Января 2005 я правильно понял, что нормального решения проблемі нет а есть только временное, т.е. запретить все нестандартніе цвета и шрифті? А что разработчки молчат? Уже сколько дней прошло. Они вообще собираються фикс віпускать ві не в курсе? Ссылка на комментарий Поделиться на других сайтах Прочее
d1pro Опубликовано 16 Января 2005 Жалоба Поделиться Опубликовано 16 Января 2005 Не знаю, может и ошибаюсь, в regexp не силен. Но как вам такой варинт? while ( preg_match( "#\[size=([^\]\[\\\<\>]+)\](.+?)\[/size\]#ies", $txt ) ) { $txt = preg_replace( "#\[size=([^\]\[\\\<\>]+)\](.+?)\[/size\]#ies" , "\$this->regex_font_attr(array('s'=>'size','1'=>'\\1','2'=>'\\2'))", $txt ); } while ( preg_match( "#\[font=([^\]\[\\\<\>]+)\](.*?)\[/font\]#ies", $txt ) ) { $txt = preg_replace( "#\[font=([^\]\[\\\<\>]+)\](.*?)\[/font\]#ies" , "\$this->regex_font_attr(array('s'=>'font','1'=>'\\1','2'=>'\\2'))", $txt ); } while( preg_match( "#\[color=([^\]\[\\\<\>]+)\](.+?)\[/color\]#ies", $txt ) ) { $txt = preg_replace( "#\[color=([^\]\[\\\<\>]+)\](.+?)\[/color\]#ies" , "\$this->regex_font_attr(array('s'=>'col' ,'1'=>'\\1','2'=>'\\2'))", $txt ); }Теоретически запрещает символы [, ], <, >, \ после = в этих тэгах. Т.е. теоретически ссылки должны умирать . Или я не прав? Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 16 Января 2005 Жалоба Поделиться Опубликовано 16 Января 2005 Но как вам такой варинт?если сумеете объяснить для каких целей в параметрах color и size могут использоваться пробелы, то вероятно можно и принять это решение =) Ссылка на комментарий Поделиться на других сайтах Прочее
d1pro Опубликовано 16 Января 2005 Жалоба Поделиться Опубликовано 16 Января 2005 Намек понят: while ( preg_match( "#\[size=([0-9]+)\](.+?)\[/size\]#ies", $txt ) ) { $txt = preg_replace( "#\[size=([0-9]+)\](.+?)\[/size\]#ies" , "\$this->regex_font_attr(array('s'=>'size','1'=>'\\1','2'=>'\\2'))", $txt ); } while ( preg_match( "#\[font=([^\]\[\\\<\>]+)\](.*?)\[/font\]#ies", $txt ) ) { $txt = preg_replace( "#\[font=([^\]\[\\\<\>]+)\](.*?)\[/font\]#ies" , "\$this->regex_font_attr(array('s'=>'font','1'=>'\\1','2'=>'\\2'))", $txt ); } while( preg_match( "#\[color=([\#0-9a-zA-Z]+)\](.+?)\[/color\]#ies", $txt ) ) { $txt = preg_replace( "#\[color=([\#0-9a-zA-Z]+)\](.+?)\[/color\]#ies" , "\$this->regex_font_attr(array('s'=>'col' ,'1'=>'\\1','2'=>'\\2'))", $txt ); }Для size по-любому только цифры, так как там дописывается "pt;" в конце. А color разрешим только буквы, цифры и символ #. Ссылка на комментарий Поделиться на других сайтах Прочее
borchuk Опубликовано 16 Января 2005 Жалоба Поделиться Опубликовано 16 Января 2005 простите.. я видимо упустил нить дискуссии... вариант от d1pro - это для версий 1.3 или 2.0.х? и для версии 2.0.х есть что нибудь кроме того что указано в шапке топика (от winnie)?Кто то вроде писал что этот вариант не даёт 100%-ного решения Ссылка на комментарий Поделиться на других сайтах Прочее
d1pro Опубликовано 16 Января 2005 Жалоба Поделиться Опубликовано 16 Января 2005 borchuk У меня только для 2.0 в данное время Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 16 Января 2005 Жалоба Поделиться Опубликовано 16 Января 2005 и для версии 2.0.х есть что нибудь кроме того что указано в шапке топика (от winnie)?первое решение так же подходит и для 2.0.х Ссылка на комментарий Поделиться на других сайтах Прочее
FlameAI Опубликовано 17 Января 2005 Жалоба Поделиться Опубликовано 17 Января 2005 Господа, вопрос следующий.... Чтобы стопудово исключить взлом, какие тэги нужно исключить из парсинга? colorfontvideosound и все ? или еще что-то? Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 17 Января 2005 Жалоба Поделиться Опубликовано 17 Января 2005 FlameAI все Ссылка на комментарий Поделиться на других сайтах Прочее
FlameAI Опубликовано 17 Января 2005 Жалоба Поделиться Опубликовано 17 Января 2005 поделитесь, как можно вытащить из базы код со сниффером?дело в том, что база у меня уже порядка 30 метров...в каждое сообщение не заглянешь.... Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 17 Января 2005 Жалоба Поделиться Опубликовано 17 Января 2005 FlameAI Это что касается античата:SELECT * FROM ibf_posts WHERE post LIKE '%antichat%' Ссылка на комментарий Поделиться на других сайтах Прочее
seba Опубликовано 17 Января 2005 Жалоба Поделиться Опубликовано 17 Января 2005 Song Некоторые умельцы вставляют код в подпись профиля, а это уже по-моему другая таблица (не знаю насколько это действенно). Может лучше уж всю базу проверить? Ссылка на комментарий Поделиться на других сайтах Прочее
Iris Опубликовано 17 Января 2005 Жалоба Поделиться Опубликовано 17 Января 2005 http://forums.invisionpower.com/index.php?showtopic=160633 - последние обновления безопасности, всвязи с багами Для версий 2.0.х2p0.zip Ссылка на комментарий Поделиться на других сайтах Прочее
Iris Опубликовано 17 Января 2005 Жалоба Поделиться Опубликовано 17 Января 2005 http://forums.invisionpower.com/index.php?showtopic=160633 - последние обновления безопасности, всвязи с багами Для вресий 1.3.х1p3.zip Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения