Баги детские но вот что интересно - разрабы этого клона нюка сказали что уязвимости содержаться в родном коде php-nuke, и следовательно во множестве его клонов. Сейчас патчей пока нет, они думают что с этим делать и кому слать эту инфу дальше. P.S. По мере нахождения буду добавлять их сюда, авось кому пригодиться. =========================================== 1. Слепая SQL-injection в RavenNuke v2.20.01 Условие: Опция «Activate HTTP Referers» должна быть включена. SQL-инъекция существует в файле /index.php — заголовок HTTP_REFERER не фильтруется. Строки 49-57: Code: if ($httpref == 1) { $referer = ''; if (isset($_SERVER['HTTP_REFERER'])) { $referer = $_SERVER['HTTP_REFERER']; $referer = check_html($referer, 'nohtml'); } if (!empty($referer) && !stripos_clone($referer, 'unknown') && !stripos_clone($referer, 'bookmark') && !stripos_clone($referer, $_SERVER['HTTP_HOST'])) { $result = $db->sql_query('INSERT INTO '.$prefix.'_referer VALUES (NULL, \''.$referer.'\')'); } 2. Слепая SQL-injection в RavenNuke v2.20.01 Условие: magic_quotes должны быть отключены SQL-инъекция существует в файле /modules.php — параметр "name" не фильтруется. Строки 28-29: Code: if (!isset($name)) $name=''; $name = trim($name); Строка 42: Code: $result = $db->sql_query('SELECT * FROM `'.$prefix.'_modules` WHERE `title`=\''.$name.'\''); 3. Слепая SQL-injection в RavenNuke v2.20.01 SQL-инъекция существует в файле /backend_mshnl.php — параметр "msnl_sCats" не фильтруется. Строка 61: Code: $sql = 'SELECT `nid`, `topic` FROM `'.$prefix.'_hnl_newsletters` WHERE `cid` IN ('.$msnl_sCats.') AND `view` = 0 ORDER BY `datesent` DESC'; Зная префикс можно подобрать хэш админа. 4. Множественные SQL-инъекции в RavenNuke. Уязвимости существуют скрипте /modules/Search/index.php - не фильтруются параметры "days","author" и "query". Строки 42-47: Code: if (!isset($query)) { $query = ''; } if (!isset($type)) { $type = ''; } if (!isset($category)) { $category = 0; } if (!isset($days)) { $days = 0; } if (!isset($author)) { $author = ''; } if (!isset($sid)) { $sid = 0; } else { $sid = intval($sid); } Строки 189-194 Code: $q = 'select s.sid, s.aid, s.informant, s.title, s.time, s.hometext, s.bodytext, a.url, s.comments, s.topic from '.$prefix.'_stories s, '.$prefix.'_authors a where s.aid=a.aid '.$queryalang.' '.$categ; if (isset($query)) $q .= 'AND (s.title LIKE \'%'.$query.'%\' OR s.hometext LIKE \'%'.$query.'%\' OR s.bodytext LIKE \'%'.$query.'%\' OR s.notes LIKE \'%'.$query.'%\') '; if (!empty($author)) $q .= 'AND s.aid=\''.$author.'\' '; if (!empty($topic)) $q .= 'AND s.topic=\''.$topic.'\' '; if (!empty($days) && $days!=0) $q .= 'AND TO_DAYS(NOW()) - TO_DAYS(time) <= \''.$days.'\' '; $q .= ' ORDER BY s.time DESC LIMIT '.$min.','.$offplus1; Строка 289: Code: $result8 = $db->sql_query('SELECT tid, sid, subject, date, name from '.$prefix.'_comments where (subject like \'%'.$query.'%\' OR comment like \'%'.$query.'%\') order by date DESC limit '.$min.','.$offplus1); Строка 406: Code: $res_n3 = $db->sql_query('SELECT user_id, username, name from '.$user_prefix.'_users where (username like \'%'.$query.'%\' OR name like \'%'.$query.'%\' OR bio like \'%'.$query.'%\') order by username ASC limit '.$min.','.$offplus1); Строка 453: Code: $dcnt = $db->sql_numrows($db->sql_query('SELECT * from '.$prefix.'_downloads_downloads WHERE title LIKE \'%'.$query.'%\' OR description LIKE \'%'.$query.'%\'')); Иньекции через параметры "author" и "days" возможны только при отключенной опции magic_quotes_gpc(). Иньекция в параметре "query" возможна в любом случае потому что его содержимое очищается от слэшей - строка 62: Code: $query = stripslashes(htmlentities($query, ENT_QUOTES)); (c) White-Team