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

xaker01

Проверенные
Сообщения
256
Реакции
198
Баллы
11,045
Каждый сайт с каждым днем становиться взрослее, и при хорошей работе часто посещаемым.
Но можно забыть, что сайт посещают не только обычные пользователи, но и "темные конкуренты".
И защита и поиск уязвимостей становиться не обходимым важным.

Так как форум относиться у нас к движку 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($h, var_export($_REQUEST, true));
fclose($h);
}
}
?>

Далее в файле config.php дописываем строку
include "anti_bad.php";

и теперь в корне файла при попытках взлома сайта, будет создаваться лог файл с запросом к серверу.
Конечно же будет очень часто срабатывать ложная тревога, и записываться туда другие параметры которые не имеют отношение к взлому.
Но это лучше чем изучать apache или nginx логи весом 10-50мб

Данный скрипт не является идеалом, и его можно улучшать.
И в конце концов превратить в идеальный плагин.
Свои доработки и идеи можете писать ниже, улучшим код вместе!
 
Если vds или выше - можно посмотреть на , - быстрее и результативней + превентивные меры.
 
Замечен что скрипт часто записывает в лог файл и сообщения где используются bb коды.
так что если у вас стоит хайд, то стоит спрятать куда то лог файл, где нет доступа по прямой ссылке.
или дописать исключение сообщений.

Немного обновил концовку, теперь при посещение пользователем "ресурсы" скрипт ложно не срабатывает
часть публикуемых сообщений тоже теперь скрывается, но и иногда проскакивают.
PHP:
if (($_REQUEST["css"] == NULL) or ( $_REQUEST["message"] == NULL)) {

    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($h, var_export($_REQUEST, true));
                fclose($h);
            }
 
  • Мне нравится
Реакции: Hope
А вот этот инструмент нормальный?
Можно поставить 1 раз в сутки на проверку, а отпечаток будет уходить на почту
 
Господи, ну что за бредовая тема. Ксенфоро не подвержен таким детским болячкам, как инъекции в запросе (если только где-то аддон с дырой не стоит). Инклудить непонятный скрипт в конфиг - выстрел себе в ногу.
 
Сам скрипт безобидный, маска с логированием не навредит. Но он и мало полезный. Полностью поддержу Smalesh, такие задачи решаются серверным инструментарием. Только все эти меры спасут от школьников, которые и так ни форум, ни грамотно настроенный сервер не сломают. Есть смысл отдельно логировать их попытки?
А от спеца есть только одна защита - удалить форум и идти дышать свежим воздухом.
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу