1. Для того чтобы скачивать скрипты, плагины и шаблоны, что размещены на форуме в менеджере ресурсов, Вам необходимо состоять в группе Verified,
    попасть в которую Вы можете набрав более 10 полезных сообщений на форуме и получив 1 симпатию или приобрести доступ на постоянной основе.
    Так же рекомендуем ознакомиться с  правилами форума  + политикой конфиденциальности и услугами от администрации форума.  

xenforo Отслежка и логирование взлома сайта

Тема в разделе "Общие вопросы (помощь)", создана пользователем admin, 12 Март 2016.

  1. admin

    admin Administrator Команда форума

    Сообщения:
    5,605
    Симпатии:
    839
    Оценки:
    +875 / 0 / -0
    Каждый сайт с каждым днем становиться взрослее, и при хорошей работе часто посещаемым.
    Но можно забыть, что сайт посещают не только обычные пользователи, но и "темные конкуренты".
    И защита и поиск уязвимостей становиться не обходимым важным.
    Так как форум относиться у нас к движку xenforo.
    Покажу вам на примере как отслеживать попытки взлома сайта.
    это может помочь вам закрыть дыру в безопасности.
    создаем файл в около конфига в папке libarary:
    anti_bad.php
    вставляем внутрь
    PHP:
    <?php
    /**
    by_xaker01
    */
    $badcount 0;
    $badops = array("UNION",
                    
    "OUTFILE",
                    
    "FROM",
                    
    "CREATE",
                    
    "SELECT",
                    
    "WHERE",
                    
    "SHUTDOWN",
                    
    "UPDATE",
                    
    "DELETE",
                    
    "CHANGE",
                    
    "MODIFY",
                    
    "RENAME",
                    
    "RELOAD",
                    
    "ALTER",
                    
    "GRANT",
                    
    "DROP",
                    
    "INSERT",
                    
    "CONCAT",
                    
    "cmd",
                    
    "exec",
                    
    "\([^>]*\"?[^)]*\)",
                    
    "<[^>]*body*\"?[^>]*>",
                    
    "<[^>]*script*\"?[^>]*>",
                    
    "<[^>]*object*\"?[^>]*>",
                    
    "<[^>]*iframe*\"?[^>]*>",
                    
    "<[^>]*frame*\"?[^>]*>",
                    
    "<[^>]*applet*\"?[^>]*>",
                    
    "<[^>]*meta*\"?[^>]*>"
                    
    );

    if (
    $_GET["css"] == "bb_code,message_simple,moderator_bar,notices,panel_scroller,rating,resource_update,resource_view,resource_view_header,resource_view_tabs") {
        
    }else{
    foreach (
    $_REQUEST as $params => $inputdata) {
        for (
    $i 0$i sizeof($badops); $i++) {
                if (
    is_string($inputdata) && preg_match('/'.$badops[$i].'/i',$inputdata)) {
                     
    $badcount 1;
                }
        }
    }
    if( 
    $badcount  ){

    $f 'log.txt';
    $h fopen($f,'a+');
    fwrite($hvar_export($_REQUESTtrue));
    fclose($h);
    }
    }
    ?>
    Далее в файле config.php дописываем строку
    PHP:
    include "anti_bad.php";
    и теперь в корне файла при попытках взлома сайта, будет создаваться лог файл с запросом к серверу.
    Конечно же будет очень часто срабатывать ложная тревога, и записываться туда другие параметры которые не имеют отношение к взлому.
    Но это лучше чем изучать apache или nginx логи весом 10-50мб

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