Взлом SourceBans, и как быть?

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #41
или обновить убунту до 16й
Не вариант вообще. Я уже обновлял. Ещё до установки ISP Mgr. В итоге при попытке поставить его, он меня просто послал куда подальше, потому что не было на тот момент поддержки Ubuntu 16.
 
  • Фэйспалм
Реакции: m22b

selax

Добрая душа
Сообщения
1,172
Реакции
521
Не вариант вообще. Я уже обновлял. Ещё до установки ISP Mgr. В итоге при попытке поставить его, он меня просто послал куда подальше, потому что не было на тот момент поддержки Ubuntu 16.
А почему не вариант?
 
  • Фэйспалм
Реакции: m22b

ykpon

Владыка
Сообщения
675
Реакции
399
Только в последнем случае придётся отказаться от ISP, или писать под него жутчайшие костыли
Или просто собрать из исходников еще одну версию пыха и добавить симлинк на нее от прежнего бинарника.
 
  • Ха-ха-ха
Реакции: m22b

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #44
@selax, этой самой поддержки 16-ой Убунты всё ещё может и не быть. Да и сам процесс немного геморроен, с моей точки зрения. Всегда может пойти что-то не так.
 
  • Ха-ха-ха
Реакции: m22b

selax

Добрая душа
Сообщения
1,172
Реакции
521
@CrazyHackGUT, поддержка 16 убунты есть, процесс совсем не гемороен. Но вот то что что-то может пойти не так - тут вы правы.
 

AS TRO

Участник
Сообщения
1,159
Реакции
750
Да банально вставь в init.php проверку строки из $_GET параметра, в котором прописывали запрос, и если там будут встречаться части SQL запроса (их не так много существует), то просто завершай работу скрипта.
Я тогда сделаю как ты сказал. Добавлю проверку на каждый всевозможный $_GET на "длину" символов и на значения. Если проверки что-то не понравится, то die(); верно?
 

ykpon

Владыка
Сообщения
675
Реакции
399
Я тогда сделаю как ты сказал. Добавлю проверку на каждый всевозможный $_GET на "длину" символов и на значения. Если проверки что-то не понравится, то die(); верно?
Да. Или просто "exit;".
А можешь при нахождении совпадений запрещенных строк сохранять в файл адрес, где была попытка использования sql-инъекции, и GET параметр. А после этого уже завершать работу скрипта.
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #48
@ykpon, я б заносил в БД, предварительно заэкранизировав всё.
 

ykpon

Владыка
Сообщения
675
Реакции
399
@AS TRO
PHP:
$disallowStr = array(
       'select',
       'union',
       'update',
       'insert',
       'join',
       'left',
       'right',
       'from',
       'where',
       'name_const',
       'char',
       //...
    );
if(isset($_GET) && !empty($_GET)) {
    $strUrl = implode(' ',$_GET);
    foreach($disallowStr as $v) {
        if(strpos($strUrl,$v)) exit;
    }
}

@ykpon, я б заносил в БД, предварительно заэкранизировав всё.
Это уже кому как больше нравится.
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #50
Я б ещё параметры POST проверял, на всякий случай.
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #52
@AS TRO,
PHP:
$disallowStr = array(
    'select',
    'union',
    'update',
    'insert',
    'join',
    'left',
    'right',
    'from',
    'where',
    'name_const',
    'char',
    //...
);

if (isset($_GET)) {
    foreach ($_GET as $req) {
        foreach($disallowStr as $v) {
            if(strpos($req,$v) !== FALSE) exit;
        }
    }
}
 
Сверху Снизу