Перейти к контенту

Уязвимости форумов Invision Power Board


Рекомендуемые сообщения

Algol

Ну да, таких не имеет, он другие имеет

Напиши свой, без дьірок :D

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 1,2k
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Загружено фотографий

Ну да, таких не имеет, он другие имеет :D

найди... я реально знаю, но их по пальцам пересчитать можно. На твоем сайте я пока не видел ни одной.

Ссылка на комментарий
Поделиться на других сайтах

найди...

Я уже нашел .)

Придет время - опубликую ...

 

(хотя по правде говоря, они у вас у всех почему-то разные, где-то одни дырки, где-то другие)

Ссылка на комментарий
Поделиться на других сайтах

Уязвимые теги меняем на:

$txt = preg_replace( "#\[video\](\S+?)\[/video\]#ies", "\$this->regex_build_src('\\1', 'video')", $txt );
$txt = preg_replace( "#\[sound\](\S+?)\[/sound\]#ies", "\$this->regex_build_src('\\1', 'sound')", $txt );

и перед

function regex_build_url($url=array()) {

в post_parser

добавить

	function regex_build_src($src="", $type) {
 
 if (!$src) return;
   
 // clean up the ampersands
 $src = preg_replace( "/&/" , "&" , $src );
 
 // Make sure we don't have a JS link
 $src = preg_replace( "/javascript:/i", "java script: ", $src );
 
 // Do we have http:// at the front?
 
 if ( ! preg_match("#^(http|ftp)://#", $src ) )
 {
	 $src = 'http://'.$src;
 }	

 switch ($type) {
	 case 'video': $src="<embed width=\"400\" height=\"300\" src=\"{$src}\" type=\"application/x-shockwave-video\">"; break;
	 case 'sound': $src="<param name=\"BACKGROUNDCOLOR\" <br /><embed src=\"{$src}\" align=\"baseline\" border=\"0\" width=\"275\" height=\"40\" type=\"audio/x-pn-realaudio-plugin\" console=\"Clip1\" controls=\"ControlPanel\" autostart=\"true\">"; break;
	 default: return;
 }
 
 return $src;
	 
}

Ссылка на комментарий
Поделиться на других сайтах

если (.*?) заменить на ([a-zA-Z0-9\.\:]) то уязвимости нет никакой

 

$txt = preg_replace( "#\[video\]([a-zA-Z0-9\.\:])\[/video\]#is", "<embed width=\"400\" height=\"300\" src=\\1 type=\"application/x-shockwave-video\">", $txt );

Ссылка на комментарий
Поделиться на других сайтах

А мона просто снести эти две строки теги то мне в общем не нужны:

$txt = preg_replace( "#\[video\](\S+?)\[/video\]#ies", "\$this->regex_build_src('\\1', 'video')", $txt );
$txt = preg_replace( "#\[sound\](\S+?)\[/sound\]#ies", "\$this->regex_build_src('\\1', 'sound')", $txt );

 

Или еще че-то нужно снести?

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...

А эту уязвимость уже закрыли?

 

Multiple Vulnerabilities in Invision Power Board v1.3.1 Final.

Compromise: SQL Injection, Cross site Scripting.

Vulnerable Systems: Invision Power Board v1.3.1 Final.

Ссылка на комментарий
Поделиться на других сайтах

>А эту уязвимость уже закрыли?

 

Первая уже закрыта, все 'f'-параметры в int обращают в цикле.

 

А вот второе... Блин, ну как так можно писать?? (пошёл исправлять запросы)

Добавлено в [mergetime]1088774232[/mergetime]

Вы таки будете смеяться, но уязвимостей с неэкранированными запросами полно и в 2.0.0pdr5!

 

Вот только принципиально показывать их не буду, пусть Мэтт сам теперь ищет.

Ссылка на комментарий
Поделиться на других сайтах

Оп-па. Приношу свои извинения на счёт уязвимости - и в 1.3.1 и в 2.0 оно закрыто. Просто сделано это так криво, что не сразу и сообразишь. Там входные данные парсятся с заменой "опасных" символов на их HTML-представление. Оно, конечно, работоспособно, но порождает потом такое количество преобразований из HTML в символы и обратно... Такое впечатление, что Мэтт напрочь не знает о существовании stripslashes(), или просто боится им пользоваться. Я уже молчу про mysql_real_escape_string()
Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...

Комментарий: чтобы СОВСЕМ убрать уязвимые тэги, открываем файл sources/lib/post_parser.php, находим:

      $txt = preg_replace( "#\[video\](.+?)\[/video\]#is", "<embed width=\"400\" height=\"300\" src=\\1 type=\"application/x-shockwave-video\">", $txt );
     $txt = preg_replace( "#\[sound\](.+?)\[/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( "#\[video\](.+?)\[/video\]#is", "<embed width=\"400\" height=\"300\" src=\\1 type=\"application/x-shockwave-video\">", $txt );
     // $txt = preg_replace( "#\[sound\](.+?)\[/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 );

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...
  • 3 месяца спустя...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.