Vic'er Опубликовано 4 Июня 2005 Жалоба Поделиться Опубликовано 4 Июня 2005 Вот новый косяк нарыли (© Micro) (здесь не проходит, хотя и не понятно почему, в HTML коде тоже, что и с форумов, где проходит [IMG=http://[EMAIL]`=`ds@ds.com[/EMAIL].jpg] ` style=background:url(javascript:alert(document.cookie)) Лечится изменением парсера емайлов. У кого стоит замена ` на ' можно не волноваться. хотя можно и поправить тоже...заодно и некорректные (по синтаксису) мылы не пройдут в post_parser.php меняем это: $txt = preg_replace( "#\[email\](\S+?)\[/email\]#i" , "<a href='mailto:\\1'>\\1</a>", $txt ); $txt = preg_replace( "#\[email\s*=\s*\"\;([\.\w\-]+\@[\.\w\-]+\.[\.\w\-]+)\s*\"\;\s*\](.*?)\[\/email\]#i" , "<a href='mailto:\\1'>\\2</a>", $txt ); $txt = preg_replace( "#\[email\s*=\s*([\.\w\-]+\@[\.\w\-]+\.[\w\-]+)\s*\](.*?)\[\/email\]#i" , "<a href='mailto:\\1'>\\2</a>", $txt );на это: $txt = preg_replace( "#\[email\]\s*([0-9a-z]([-_.]?[0-9a-z])*@([a-z0-9\-]+\.)+([a-z0-9\-]{2}|net|com|gov|mil|org|edu|int|xxx))\s*\[/email\]#i" , "<a href='mailto:\\1'>\\1</a>", $txt ); $txt = preg_replace( "#\[email\s*=\s*\"\;\s*([0-9a-z]([-_.]?[0-9a-z])*@([a-z0-9\-]+\.)+([a-z0-9\-]{2}|net|com|gov|mil|org|edu|int|xxx))\s*\"\;\s*\](.*?)\[\/email\]#i" , "<a href='mailto:\\1'>\\5</a>", $txt ); $txt = preg_replace( "#\[email\s*=\s*([0-9a-z]([-_.]?[0-9a-z])*@([a-z0-9\-]+\.)+([a-z0-9\-]{2}|net|com|gov|mil|org|edu|int|xxx))\s*\](.*?)\[\/email\]#i" , "<a href='mailto:\\1'>\\5</a>", $txt ); Ссылка на комментарий Поделиться на других сайтах Прочее
Dekker Опубликовано 4 Июня 2005 Жалоба Поделиться Опубликовано 4 Июня 2005 гм ... спасибо. пойду на младших двойках погоняю.[1117886407:1117886589]версии на локалке 2.0.0 и т.д по возрастающей, не срабатывает Ссылка на комментарий Поделиться на других сайтах Прочее
dfc_darkman Опубликовано 4 Июня 2005 Жалоба Поделиться Опубликовано 4 Июня 2005 т.е. для 2хх не работает!? а для 1.3.1 нада? Ссылка на комментарий Поделиться на других сайтах Прочее
Gogy Опубликовано 4 Июня 2005 Жалоба Поделиться Опубликовано 4 Июня 2005 2.0.3 тоже не прокатывает. Ссылка на комментарий Поделиться на других сайтах Прочее
dfc_darkman Опубликовано 4 Июня 2005 Жалоба Поделиться Опубликовано 4 Июня 2005 А как проверить!? я что-то не раздуплил ) Ссылка на комментарий Поделиться на других сайтах Прочее
Gogy Опубликовано 4 Июня 2005 Жалоба Поделиться Опубликовано 4 Июня 2005 [IMG=http://[EMAIL]`=`ds@ds.com[/EMAIL].jpg] ` style=background:url(javascript:alert(document.cookie))Если вылезет окошко, значит гонит Ссылка на комментарий Поделиться на других сайтах Прочее
dfc_darkman Опубликовано 4 Июня 2005 Жалоба Поделиться Опубликовано 4 Июня 2005 а чё должно произойти!? я у себя на 1.3.1 ввёдл как сообщение - никаких окошек не выскакивалопросто в посте типа незагруженная картина и дальше текст:`=`ds@ds.com.jpg' border='0' alt='user posted image' /> ` style=background:url(java script:alert(document.cookie)) и всёэто нормально получается же? Ссылка на комментарий Поделиться на других сайтах Прочее
Valera Опубликовано 4 Июня 2005 Жалоба Поделиться Опубликовано 4 Июня 2005 --------а чё должно произойти!?-------Должно появиться прямоугольное окно.Испытывай в ие, в других браузерах алерты могут быть заблокированы. Ссылка на комментарий Поделиться на других сайтах Прочее
kolorom Опубликовано 4 Июня 2005 Жалоба Поделиться Опубликовано 4 Июня 2005 Латайте - не ленитесь иначе кто-то успеет 8) ... ух эти сниферы. Ссылка на комментарий Поделиться на других сайтах Прочее
dfc_darkman Опубликовано 4 Июня 2005 Жалоба Поделиться Опубликовано 4 Июня 2005 Господа.В 1.3.1 финал тоже появляется окошкоя пофиксилсенкс теперь ничего не появляется, просто в посте тут типа неотображённая картинка и дальше текст: ` style=background:url(java script:alert(document.cookie)) з.ы: а скажите плз что можно с этой дырой форуму сделать!? и как? (как можете плз в пм написать, что бы публично все не знали ) Ссылка на комментарий Поделиться на других сайтах Прочее
Vic'er Опубликовано 5 Июня 2005 Жалоба Поделиться Опубликовано 5 Июня 2005 а скажите плз что можно с этой дырой форуму сделать!? и как? Из кук берется Твой хешь если отправить на снифф то мона получить его и попробывать расшифровать если получиться мы идем в админку заливаем шелл и дефим сайт © Micro Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 5 Июня 2005 Жалоба Поделиться Опубликовано 5 Июня 2005 [IMG=http://[EMAIL]`=`ds@ds.com[/EMAIL].jpg] ` style=background:url(javascript:alert(document.cookie)) Лечится изменением парсера емайлов. в post_parser.php меняем это:$txt = preg_replace( "#\[email\](\S+?)\[/email\]#i" , "<a href='mailto:\\1'>\\1</a>", $txt );на $txt = preg_replace( "#\[email\]([\.\w\-]+\@[\.\w\-]+\.[\.\w\-]+)\[/email\]#i" , "<a href='mailto:\\1'>\\1</a>", $txt ); Ссылка на комментарий Поделиться на других сайтах Прочее
Vic'er Опубликовано 5 Июня 2005 Жалоба Поделиться Опубликовано 5 Июня 2005 GiV, по первых в 1.3 не один регэксп, а три, а во вторых - Уязвимости форумов Invision Power Board - убиваем 2х зайцев, закрываем возможность подсунуть сниф и возможность вводить ссылки на некорректные мылы Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 5 Июня 2005 Жалоба Поделиться Опубликовано 5 Июня 2005 Vic'er, остальные 2-а регэкспа являются безопасными, проблема только в первом потому как идет класс символов \S что означает любой символ, кроме пробельного (обращаем внимание на слово символ, это и буква и цифра и ` и т.д.) Выражения для регэкспа которые используются в остальных условиях проверки являются безопасными дефакто, потому как там используется класс символов \w - буквы и цифры и все! По поводу правильности... Ну ваш регэксп не пропустит мылы скажем name.sname@domain.info, хотя он валиден... Так же как и мыла с доменами 3-го уровня - name.sname@subdomain.domain.ru, а ведь такие (pp.ru, com.ru, net.ru) существуют, не правда ли? А расширять регэксп в условиях выбора на все домены которые есть... В общем это не самый оптимальный вариант, который отсекает еще и часть валидных мыл. Ссылка на комментарий Поделиться на других сайтах Прочее
Vic'er Опубликовано 5 Июня 2005 Жалоба Поделиться Опубликовано 5 Июня 2005 Ну ваш регэксп не пропустит мылы скажем name.sname@domain.info, хотя он валиден У епт... возможно... хотя я и не слышал о мылах на info А расширять регэксп в условиях выбора на все домены которые есть А трех буквенных доменов не так и много - они все и перечислены, добавлен даже XXX энивей - заплатка сделана и бог с ним. ))Так же как и мыла с доменами 3-го уровня - name.sname@subdomain.domain.ru, а ведь такие (pp.ru, com.ru, net.ru) существуют, не правда ли?([a-z0-9\-]{2}|net|com|gov|mil|org|edu|int|xxx)) Идет проверка чтобы в конце был либо двухсимвольный (региональный) домен, либо общепринятый трехбуквенный - так что все путем Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 5 Июня 2005 Жалоба Поделиться Опубликовано 5 Июня 2005 энивей - заплатка зделана и бог с ним. ))особенно если учесть, что тэгом email пользуется менее 1% пользователей, то такая заплатка имеет шанс на существование, хотя с точки зрения корректной работы с различными email адресами является притянутой за уши... Ссылка на комментарий Поделиться на других сайтах Прочее
Vic'er Опубликовано 5 Июня 2005 Жалоба Поделиться Опубликовано 5 Июня 2005 а вообще - решение не претендовало на универсальность, просто у каждого программера свой регексп на валидность мыл хотя можно притянуть и онлайн проверку мыл за уши Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 5 Июня 2005 Жалоба Поделиться Опубликовано 5 Июня 2005 Идет проверка чтобы в конце был либо двухсимвольный (региональный) домен, либо общепринятый трехбуквенный - так что все путем да все верно. Только([a-z0-9\-]{2}'\-' уберите =) А то получатся домены из зоны r-, -u, u- и т.д. Ссылка на комментарий Поделиться на других сайтах Прочее
Vic'er Опубликовано 5 Июня 2005 Жалоба Поделиться Опубликовано 5 Июня 2005 \-' уберите =) А то получатся домены из зоны r-, -u, u- и т.д. Сенкс, я уже и не помню, почему у меня дефиз туда затесался, возможно где и есть зона .-r - теперь буду юзать([a-z0-9]{2}|net|com|gov|mil|org|edu|int|xxx|info) Ссылка на комментарий Поделиться на других сайтах Прочее
dfc_darkman Опубликовано 5 Июня 2005 Жалоба Поделиться Опубликовано 5 Июня 2005 такс...а теперь для нас: - что изменить опять!? ))) Ссылка на комментарий Поделиться на других сайтах Прочее
Vic'er Опубликовано 5 Июня 2005 Жалоба Поделиться Опубликовано 5 Июня 2005 что изменить опять!? ты же уже поменял у себя - что еще менять то Ссылка на комментарий Поделиться на других сайтах Прочее
dfc_darkman Опубликовано 5 Июня 2005 Жалоба Поделиться Опубликовано 5 Июня 2005 та мало ли Вы же тут с GIV'ом обсуждали .... вообщем всё ок. Сенкс Ссылка на комментарий Поделиться на других сайтах Прочее
Vic'er Опубликовано 6 Июня 2005 Жалоба Поделиться Опубликовано 6 Июня 2005 Вы же тут с GIV'ом обсуждали .... Обсуждение больше техническое было... по реализации и вообще... Добавлено Новую XSS дырочку нарылили на нашем форуме (с)Micro зы Мне тут могут сказать, что обратную кавычку нужно запретить вообще или преобразовавать в обычную - так скажу вам, что это в корне не верно. тк нужно именно предупреждать пользователя о том, что в некоторых (не всех конечно) местах вставлять ее не стоит. [URL=[img=http://`=`ds@ds.jpg]][/URL]` style=background:url(javascript:alert(documencookie)) Лечится изменением парсера картинок. в post_parser.php после этого: /**************************************************/ // regex_check_image: Checks, and builds the <img> // html. /**************************************************/ function regex_check_image($url="") { global $ibforums; if (!$url) return; $url = trim($url); $default = "[img=".$url."]"; ++$this->image_count;добавляем if (strpos(urldecode($url), "`") !== false) { $this->error = 'no_dynamic'; return $default; } Ссылка на комментарий Поделиться на других сайтах Прочее
abram4 Опубликовано 6 Июня 2005 Жалоба Поделиться Опубликовано 6 Июня 2005 Случайно пробегал по форуму израильской поддержки, там неделю назад вышел пак обновлений безопасности для 2.0.0. Может кто из гуру глянет вполглаза, вдруг чего упустили? Там хоть и на иврите, но вроде все понятно; если что, с переводом пары фраз помогу. Ссылка на комментарий Поделиться на других сайтах Прочее
dfc_darkman Опубликовано 6 Июня 2005 Жалоба Поделиться Опубликовано 6 Июня 2005 Новую XSS дырочку нарылили на нашем форуме (с)MicroТа сколько можно!? )) Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения