Terabyte Опубликовано 29 Мая 2004 Жалоба Поделиться Опубликовано 29 Мая 2004 (изменено) d Изменено 13 Августа 2017 пользователем Terabyte Ссылка на комментарий Поделиться на других сайтах Прочее
Terabyte Опубликовано 29 Мая 2004 Автор Жалоба Поделиться Опубликовано 29 Мая 2004 (изменено) d Изменено 13 Августа 2017 пользователем Terabyte Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 29 Мая 2004 Жалоба Поделиться Опубликовано 29 Мая 2004 убрать этот бб код, вот самое правильное решение! а вообще смотри как парсятся url, font, color, size тэги. Ссылка на комментарий Поделиться на других сайтах Прочее
Terabyte Опубликовано 31 Мая 2004 Автор Жалоба Поделиться Опубликовано 31 Мая 2004 (изменено) d Изменено 13 Августа 2017 пользователем Terabyte Ссылка на комментарий Поделиться на других сайтах Прочее
IBResource Опубликовано 31 Мая 2004 Жалоба Поделиться Опубликовано 31 Мая 2004 А зачем эту тему во флем переместили? Мда...Все вопросы, пожалуйста, не в самой теме задавайте, а лично или через "Отзывы"... А вообще перенесли, потому что эта тема обсуждение, а не вопрос по проблеме. Так ее увидет большее количество людей, не заходящие вообще в форумы с проблемами пользователей (общие вопросы)... Ссылка на комментарий Поделиться на других сайтах Прочее
mpkspb Опубликовано 1 Июня 2004 Жалоба Поделиться Опубликовано 1 Июня 2004 Vanish Oska убрать этот бб код, вот самое правильное решение! а вообще смотри как парсятся url, font, color, size тэги А для менее опытных в программировании пользователей форума будет ли официальное решение этой проблемы от Вашей команды? Ссылка на комментарий Поделиться на других сайтах Прочее
Valera Опубликовано 1 Июня 2004 Жалоба Поделиться Опубликовано 1 Июня 2004 Я лично обезопасил себя так...строка 226 файла post_parser.php в папке сорс либPHP Code:// Start off with the easy stuff $txt = str_replace( "`", '"', $txt ); $txt = str_replace( "'", '"', $txt ); $txt = str_replace( '""', '"', $txt ); $txt = str_replace( '"[', '[', $txt ); $txt = str_replace( ']"', ']', $txt ); $txt = str_replace( 'cookie', 'соокiе', $txt ); $txt = str_replace( 'javascript', 'jаvаsсriрt', $txt ); $txt = str_replace( 'document', 'dосuмeпt', $txt ); $txt = str_replace( 'background', 'баcкgrоund', $txt );как мне кажется, меня частично спасет и от будущих глюков.(на официальное решение, этот метод не претендует) Ссылка на комментарий Поделиться на других сайтах Прочее
Algol Опубликовано 1 Июня 2004 Жалоба Поделиться Опубликовано 1 Июня 2004 Я лично обезопасил себя так... строка 226 файла post_parser.php в папке сорс либPHP Code:// Start off with the easy stuff $txt = str_replace( "`", '"', $txt ); $txt = str_replace( "'", '"', $txt ); $txt = str_replace( '""', '"', $txt ); $txt = str_replace( '"[', '[', $txt ); $txt = str_replace( ']"', ']', $txt ); $txt = str_replace( 'cookie', 'соокiе', $txt ); $txt = str_replace( 'javascript', 'jаvаsсriрt', $txt ); $txt = str_replace( 'document', 'dосuмeпt', $txt ); $txt = str_replace( 'background', 'баcкgrоund', $txt ); ИМХО это как раз пример того, как делать НЕ нужно )) Ссылка на комментарий Поделиться на других сайтах Прочее
Elvis271 Опубликовано 2 Июня 2004 Жалоба Поделиться Опубликовано 2 Июня 2004 Algol По чему если не секрет? Ссылка на комментарий Поделиться на других сайтах Прочее
Algol Опубликовано 2 Июня 2004 Жалоба Поделиться Опубликовано 2 Июня 2004 Elvis271 Во-первых потому что такой код ни от чего не защищает вообще, а во-вторых - портит мессаги юзеров. Ссылка на комментарий Поделиться на других сайтах Прочее
Meowth[OGD] Опубликовано 2 Июня 2004 Жалоба Поделиться Опубликовано 2 Июня 2004 Почему не защищает? Ссылка на комментарий Поделиться на других сайтах Прочее
Valera Опубликовано 2 Июня 2004 Жалоба Поделиться Опубликовано 2 Июня 2004 Во-первых потому что такой код ни от чего не защищает вообще,Если он ничего не защищает, запости мне пример эксплойта который пробивает это... (если уж сказал что ничего не защищает, не будь голословным) Насчет портит сообщения... У меня форум не для джава-программистов, так что ничего не портит. А насчет вариантов как надо делать... Я уверен ты не сможешь предусмотреть все возможные варианты... Ссылка на комментарий Поделиться на других сайтах Прочее
Algol Опубликовано 2 Июня 2004 Жалоба Поделиться Опубликовано 2 Июня 2004 Если он ничего не защищает, запости мне пример эксплойта который пробивает это... (если уж сказал что ничего не защищает, не будь голословным)Хорошо, разберем все по отдельности: $txt = str_replace( "`", '"', $txt ); - ну это понятно, хотя что ` что " - разницы особой нет (я бы даже сказал что это на руку взломщикам, потому что кавычка обычно преобразовывается в "e; а в данном случае - подарок судьбы - она не закодирована $txt = str_replace( "'", '"', $txt ); -то же самое $txt = str_replace( '""', '"', $txt ); - эти махинации мне не понятны, зачем они нужны ? $txt = str_replace( '"[', '[', $txt ); - еще более бессымсленно ... Зачем это нужно? Если под этим понимается защит от фрагментов типа e=` ` так до и после квадратных кавычек на самом деле может стоять все что угодно... Например такая конструкция тоже работает e=`sssss ddddd` .... $txt = str_replace( ']"', ']', $txt ); - аналогично $txt = str_replace( 'cookie', 'соокiе', $txt ); - см. ниже $txt = str_replace( 'javascript', 'jаvаsсriрt', $txt ); - гыыыыы...о существовании таких скриптовых языков как vbscript, например, Вы конечно не знаете? И о существовании функции expression() вероятно тоже... А кроме того вы наверно не догадываетесь, что слово javascript можно написать как минимум 1024 способами. Например jaVaScrIpT $txt = str_replace( 'document', 'dосuмeпt', $txt ); - см выше $txt = str_replace( 'background', 'баcкgrоund', $txt ); - аналогично А кроме того вставте в блокнот такую строку <span stYLe="BaCkgrouNd:expRessIon(alert(';)'))">Сохраните с расширением HTML и откройте в браузере Надеюсь это убедит Вас что перекодировки которыми вы "защитили" свой форум практически бесполезны.Я уверен ты не сможешь предусмотреть все возможные варианты...А зря Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 2 Июня 2004 Жалоба Поделиться Опубликовано 2 Июня 2004 А кроме того вставте в блокнот такую строкупоясни мне причём тут блокнот? Ссылка на комментарий Поделиться на других сайтах Прочее
Algol Опубликовано 2 Июня 2004 Жалоба Поделиться Опубликовано 2 Июня 2004 Song Ну можете вставить прямо в исходник форума ))) Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 3 Июня 2004 Жалоба Поделиться Опубликовано 3 Июня 2004 Я не увидел продолжение фразы Сохраните с расширением HTML Ссылка на комментарий Поделиться на других сайтах Прочее
Valera Опубликовано 3 Июня 2004 Жалоба Поделиться Опубликовано 3 Июня 2004 Algol А пример эксплойта запостить??? стр_реплейс помоему нечувствителен к регистру jaVaScrIpT<span stYLe="BaCkgrouNd:expRessIon(alert(';)'))">Сохраните с расширением HTML и откройте в браузере Надеюсь это убедит Вас что перекодировки которыми вы "защитили" свой форум практически бесполезны.1. вариант реплейс и других возможных комбинаций2. варант отказ, форума от сообщения которое пытаются запостить. Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 3 Июня 2004 Жалоба Поделиться Опубликовано 3 Июня 2004 Иправление этого эсплойта было.Вообще-то оно делалось черезе теги color и size. А в span оно попадо при парсинге в post_parser.php Ссылка на комментарий Поделиться на других сайтах Прочее
Algol Опубликовано 3 Июня 2004 Жалоба Поделиться Опубликовано 3 Июня 2004 1. вариант реплейс и других возможных комбинаций2. варант отказ, форума от сообщения которое пытаются запостить.Я бы вам посоветовал копать в том направлении, в котором копает Terabyte. Нужно фиксить сам баг а не извращаться с перекодировками. Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 3 Июня 2004 Жалоба Поделиться Опубликовано 3 Июня 2004 Algol советчик, если знаешь то скажи. Интриговать тут и поражать своими знаниями не надо. Пальцы гнуть тут все умеют. Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 3 Июня 2004 Жалоба Поделиться Опубликовано 3 Июня 2004 Terabyte самое правильное решение похерить эти теги...ну в общем $txt = preg_replace( "#\[align\s*=\s*(left|right|center)\s*\](.*?)\[\/align\]#is", "<div align=\"\\1\">\\2</div>", $txt ); $txt = preg_replace( "#\[video\](\S+?)\[/video\]#is", "<embed width=\"400\" height=\"300\" src=\"\\1\" type=\"application/x-shockwave-video\">", $txt ); $txt = preg_replace( "#\[sound\](\S+?)\[/sound\]#is", "<param name=\"BACKGROUNDCOLOR\" <br /><embed src=\"\\1\" align=\"baseline\" border=\"0\" width=\"275\" height=\"40\" type=\"audio/x-pn-realaudio-plugin\" console=\"Clip1\" controls=\"ControlPanel\" autostart=\"true\">", $txt ); $txt = preg_replace( "#\[web\](\S+?)\[/web\]#is", "<IFRAME WIDTH=550 HEIGHT=400 SRC=\"\\1\"></IFRAME>", $txt ); Ссылка на комментарий Поделиться на других сайтах Прочее
Algol Опубликовано 3 Июня 2004 Жалоба Поделиться Опубликовано 3 Июня 2004 Vanish Фиксить баги - Ваше дело, не мое Ссылка на комментарий Поделиться на других сайтах Прочее
Sanjak Опубликовано 3 Июня 2004 Жалоба Поделиться Опубликовано 3 Июня 2004 Algol Фиксить баги - Ваше дело, не моеФиксить баги - дело каждого админа форума, которьій думает про безопасность своего ресурса. Ну а если тьі простой пользовател, то те ето не должно волновать. Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 3 Июня 2004 Жалоба Поделиться Опубликовано 3 Июня 2004 Sanjak он эту дырку нашел. И решение очевидно тоже знал, хотя я могу ошибаться. По поводуФиксить баги - Ваше дело, не мое я не в состоянии отлавливать и фиксить баги всех модификаций, которые пишет и ставит народ. Так что мы не в ответ за ошибки в скриптах третьих лиц. Чистый IPB таких дырок не имеет. Ссылка на комментарий Поделиться на других сайтах Прочее
Algol Опубликовано 4 Июня 2004 Жалоба Поделиться Опубликовано 4 Июня 2004 Чистый IPB таких дырок не имеет.Ну да, таких не имеет, он другие имеет... Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения