*SHADOW* Опубликовано 6 Ноября 2005 Жалоба Поделиться Опубликовано 6 Ноября 2005 Спасибо. Ссылка на комментарий Поделиться на других сайтах Прочее
Armis Опубликовано 6 Ноября 2005 Жалоба Поделиться Опубликовано 6 Ноября 2005 Счастье в том, что вот что то типа этого : http://damagelab.org/files/ipb_by_WJ.txt работать не будет. Ссылка на комментарий Поделиться на других сайтах Прочее
kolorom Опубликовано 6 Ноября 2005 Жалоба Поделиться Опубликовано 6 Ноября 2005 h; t; t; p; :; /; /; = http:// Как запретить такие чудеса Чтоб форум не конвертировал !!!??? Ссылка на комментарий Поделиться на других сайтах Прочее
sanches36 Опубликовано 7 Ноября 2005 Жалоба Поделиться Опубликовано 7 Ноября 2005 Счастье в том, что вот что то типа этого : http://damagelab.org/files/ipb_by_WJ.txt работать не будет.<{POST_SNAPBACK}>если отключит сторонние ссылки? Ссылка на комментарий Поделиться на других сайтах Прочее
Armis Опубликовано 7 Ноября 2005 Жалоба Поделиться Опубликовано 7 Ноября 2005 Счастье в том, что вот что то типа этого : http://damagelab.org/files/ipb_by_WJ.txt работать не будет.<{POST_SNAPBACK}>если отключит сторонние ссылки?<{POST_SNAPBACK}> У некоторых это просто нереально, как у меня например. Ссылка на комментарий Поделиться на других сайтах Прочее
*SHADOW* Опубликовано 7 Ноября 2005 Жалоба Поделиться Опубликовано 7 Ноября 2005 kolorom А зачем тебе запрещать просто удали тэги post и topic из списка bb кодов. Ссылка на комментарий Поделиться на других сайтах Прочее
nafigator Опубликовано 7 Ноября 2005 Жалоба Поделиться Опубликовано 7 Ноября 2005 http://www.securitylab.ru/vulnerability/241796.phpСразу говорю - для использования этой уязвимости нужен доступ в админку. Так что не стоит резко требовать заплаток. На секьюритилаб это кто-то невменяемый запостил... Ссылка на комментарий Поделиться на других сайтах Прочее
Sergey Ilyin Опубликовано 7 Ноября 2005 Жалоба Поделиться Опубликовано 7 Ноября 2005 От этого есть что нить http://damagelab.org/index.php?showtopic=5...indpost&p=22354<{POST_SNAPBACK}>Хм. А если в post_parser.php код if ( substr_count( $row['bbcode_replace'], '{content}' ) > 1 ) { //----------------------------------------- // Slightly slower //----------------------------------------- if ( $row['bbcode_useoption'] ) { preg_match_all( "#(\[".$row['bbcode_tag']."=(?:"|&\#39;)?(.+?)(?:"|&\#39;)?\])(.+?)(\[/".$row['bbcode_tag']."\])#si", $t, $match ); for ($i=0; $i < count($match[0]); $i++) { $tmp = $row['bbcode_replace']; $tmp = str_replace( '{option}' , $match[2][$i], $tmp ); $tmp = str_replace( '{content}', $match[3][$i], $tmp ); $t = str_replace( $match[0][$i], $tmp, $t ); } } else модифицировать как // if ( substr_count( $row['bbcode_replace'], '{content}' ) > 1 ) { //----------------------------------------- // Slightly slower //----------------------------------------- if ( $row['bbcode_useoption'] ) { preg_match_all( "#(\[".$row['bbcode_tag']."=(?:"|&\#39;)?(.+?)(?:"|&\#39;)?\])(.+?)(\[/".$row['bbcode_tag']."\])#si", $t, $match ); for ($i=0; $i < count($match[0]); $i++) { $tmp = $row['bbcode_replace']; // вот ниже идет то, что изменено if ( is_numeric($match[2][$i]) && (intval($match[2][$i]) == floatval($match[2][$i])) ) { $tmp = str_replace( '{option}' , $match[2][$i], $tmp ); } // конец изменения $tmp = str_replace( '{content}', $match[3][$i], $tmp ); $t = str_replace( $match[0][$i], $tmp, $t ); } } else Я пытался написать проверку на то, что введенный {option} является числом. Поможет? Первая строка процитирована не зря. И закомментирована не зря -- идущий ниже по файлу "более быстрый" парсер я закомментировал. Ибо пхп не знаю и аналогичную проверку там вставить не смог. Ссылка на комментарий Поделиться на других сайтах Прочее
kolorom Опубликовано 7 Ноября 2005 Жалоба Поделиться Опубликовано 7 Ноября 2005 *SHADOW* странно у меня 1.3 модиф. и таких тегов нет в панели UB code я так понял они не используются по назначению если этот момент важный то что с пармером делать чтоб запретить именно их ? Ссылка на комментарий Поделиться на других сайтах Прочее
nafigator Опубликовано 7 Ноября 2005 Жалоба Поделиться Опубликовано 7 Ноября 2005 *SHADOW* странно у меня 1.3 модиф. и таких тегов нет в панели UB code я так понял они не используются по назначению если этот момент важный то что с пармером делать чтоб запретить именно их ?<{POST_SNAPBACK}>ЧТО? Ссылка на комментарий Поделиться на других сайтах Прочее
cthulhu Опубликовано 8 Ноября 2005 Жалоба Поделиться Опубликовано 8 Ноября 2005 (изменено) Я пытался написать проверку на то, что введенный {option} является числом. Поможет? Первая строка процитирована не зря. И закомментирована не зря -- идущий ниже по файлу "более быстрый" парсер я закомментировал. Ибо пхп не знаю и аналогичную проверку там вставить не смог. сделал такую же проверку, потому что отключать теги не хотелось...по-моему, у меня немного красивее вышло и быстрый парсер отключать не надо:все в том же post_parser.php в том же месте заменить строку $tmp = str_replace( '{option}' , $match[2][$i], $tmp ); на if( preg_match("#^[0-9]+$#", $match[2][$i]) ) { $tmp = str_replace( '{option}' , $match[2][$i], $tmp ); } и чуть ниже строку $t = preg_replace( "#\[".$row['bbcode_tag']."=(?:"|&\#39;)?(.+?)(?:"|&\#39;)?\]#si", str_replace( '{option}', "\\1", $replace[0] ), $t ); на if( preg_match("#\[".$row['bbcode_tag']."=(?:"|&\#39;)?([0-9]+?)(?:"|&\#39;)?\]#si", $t) ) { $t = preg_replace( "#\[".$row['bbcode_tag']."=(?:"|&\#39;)?(.+?)(?:"|&\#39;)?\]#si", str_replace( '{option}', "\\1", $replace[0] ), $t ); } сразу надо сказать, что если проверять все доп. бб-теги на цифры, то и работать будут только те, где нужны именно цифры... хотя, можно в шаблоны добавить все символы, кроме []<> Изменено 9 Ноября 2005 пользователем cthulhu Ссылка на комментарий Поделиться на других сайтах Прочее
SAT Опубликовано 9 Ноября 2005 Жалоба Поделиться Опубликовано 9 Ноября 2005 на античате появилась якобы уязвимость... http://video.antichat.net/videos/Silveran/defiz.rar ("место возможного переноса") проверил на многих форумах... настройка не включена....ACP - > Security and Privacy - > Remove chr(0xCA) from input?Can be used as a 'hidden' space to emulate registered names - but can cause problems in non Western character sets.(так как "место возможного переноса" не отображается как символ, то визуально ник состоящий только из этих символов будет выглядеть как пустое место или можно регаться именами админов например) при помощи этого можно страндартно бороться с регистрацией чела с ником состоящим из символов "мест возможного переноса", но я предлагаю заменять этот сомвол на обычное тире:в файле register.php после //----------------------------------------- // Remove multiple spaces in the username //----------------------------------------- $in_username = preg_replace( "/\s{2,}/", " ", $in_username ); вставить $in_username = str_replace( chr(173), '& #8211;' , $in_username ); естетвенно & и # без пробела Ссылка на комментарий Поделиться на других сайтах Прочее
*SHADOW* Опубликовано 9 Ноября 2005 Жалоба Поделиться Опубликовано 9 Ноября 2005 естетвенно & и # без пробелаА зачем тогда в коде с пробелом написал? //----------------------------------------- // Remove multiple spaces in the username //----------------------------------------- $in_username = preg_replace( "/\s{2,}/", " ", $in_username ); Внизу вставить это? $in_username = str_replace( chr(173), '& #8211;' , $in_username );да? Ссылка на комментарий Поделиться на других сайтах Прочее
SAT Опубликовано 9 Ноября 2005 Жалоба Поделиться Опубликовано 9 Ноября 2005 с пробелом потому что если без него этот код заменится на "-" именно туда вставлять Ссылка на комментарий Поделиться на других сайтах Прочее
Vic'er Опубликовано 9 Ноября 2005 Жалоба Поделиться Опубликовано 9 Ноября 2005 добавлю ка я эту замену в свой проверяльщик данных)) этот символ не нужен ни в каких входных данных Ссылка на комментарий Поделиться на других сайтах Прочее
SAT Опубликовано 9 Ноября 2005 Жалоба Поделиться Опубликовано 9 Ноября 2005 Vic'erда можно в принципе и из постов в парсере его тож детитнуть... а то пустые посты незачем Ссылка на комментарий Поделиться на других сайтах Прочее
Armis Опубликовано 10 Ноября 2005 Жалоба Поделиться Опубликовано 10 Ноября 2005 (изменено) убираем теги EMAIL Актуально для 2.1 и ниже. Изменено 10 Ноября 2005 пользователем Armis Ссылка на комментарий Поделиться на других сайтах Прочее
nafigator Опубликовано 10 Ноября 2005 Жалоба Поделиться Опубликовано 10 Ноября 2005 Исправление уязвимостей форумовА обновление темки ожидается? Ссылка на комментарий Поделиться на других сайтах Прочее
Vic'er Опубликовано 10 Ноября 2005 Жалоба Поделиться Опубликовано 10 Ноября 2005 (изменено) Кто-то может составить регексп для вырезания всех вариаций обратной кавычки и преобразования ее в какой нить безопасный вариант? если я вставлю в свой преобработчик такой регэксп, то есть вероятность, что можна покончить со всякими XSS одним махом... Изменено 10 Ноября 2005 пользователем Vic'er Ссылка на комментарий Поделиться на других сайтах Прочее
nafigator Опубликовано 10 Ноября 2005 Жалоба Поделиться Опубликовано 10 Ноября 2005 XSS? Ссылка на комментарий Поделиться на других сайтах Прочее
brat Опубликовано 10 Ноября 2005 Жалоба Поделиться Опубликовано 10 Ноября 2005 Вроде нашел решение, конечно на форумах, где постят много кодов скриптов это не очень удачное решение, но все же... Создаем фильтр мата и вписываемbackground = backgr__ound - Точный cookie = coo__kie - Точный document = docu__ment - Точный images = ima__ges - Точный javascript = ja__vasc__ript - Точный а может лучше оставить внешний вид слова но заменить англ буквы на русские (какие возможно заменить по внешнему виду), вламывающий не сразу поймет почему не сработало, а твоим способом видно все и будут дальше попытки обойти эту замену. Ссылка на комментарий Поделиться на других сайтах Прочее
Anna Опубликовано 10 Ноября 2005 Жалоба Поделиться Опубликовано 10 Ноября 2005 (изменено) Исправление уязвимостей форумовА обновление темки ожидается? Я присоединяюсь к вопросу. Т.к. моих способностей не хватает, чтобы вникнуть в мануал по функции preg_replace, очень прошу сильных мира сего (в лице GiV) выложить официальный патч для всех версий, если данная уязвимость имеет место быть. Изменено 10 Ноября 2005 пользователем Anna Ссылка на комментарий Поделиться на других сайтах Прочее
brat Опубликовано 10 Ноября 2005 Жалоба Поделиться Опубликовано 10 Ноября 2005 и чуть ниже строку $t = preg_replace( "#\[".$row['bbcode_tag']."=(?:"|&\#39;)?(.+?)(?:"|&\#39;)?\]#si", str_replace( '{option}', "\\1", $replace[0] ), $t ); на if( preg_match("#\[".$row['bbcode_tag']."=(?:"|&\#39;)?([0-9]+?)(?:"|&\#39;)?\]#si", $t) ) { $t = preg_replace( "#\[".$row['bbcode_tag']."=(?:"|&\#39;)?(.+?)(?:"|&\#39;)?\]#si", str_replace( '{option}', "\\1", $replace[0] ), $t ); } хм а у меня тут ошибку выдает при проверке Ссылка на комментарий Поделиться на других сайтах Прочее
cthulhu Опубликовано 10 Ноября 2005 Жалоба Поделиться Опубликовано 10 Ноября 2005 хм а у меня тут ошибку выдает при проверке хмм... я скопировал ровно то, что сейчас стоит у меня в коде...так что у меня ошибок нема... Ссылка на комментарий Поделиться на других сайтах Прочее
SAT Опубликовано 10 Ноября 2005 Жалоба Поделиться Опубликовано 10 Ноября 2005 Vic'er немного затрудняюсь ответить что такое "регексп" но думаю что вот это имеловь ввиду: $text = str_replace( '"', '& quot;' , $text ); $text = str_replace( chr(180), "& acute;" , $text ); $text = str_replace( "‘", "& lsquo;" , $text ); $text = str_replace( "’", "& rsquo;" , $text ); $text = str_replace( "“", "& ldquo;" , $text); $text = str_replace( "”", "& rdquo;" , $text); $text = str_replace( "‚", "& sbquo;" , $text); $text = str_replace( "„", "& bdquo;" , $text); $text = str_replace( "`", "& lsquo;" , $text ); Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения