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

AS TRO

Участник
Сообщения
1,159
Реакции
750
Добро времени. Недавно мой проект взломали через обычный, обновленный до последней версии SourceBans.
Приложу парочку логов, которые доступны только лютым пользователям)


Есть какие предложения по этому поводу? В бд они очень хорошо покопались и изменили все что нужно и не нужно. В общем, хотелось бы услышать мнение людей, с опытом работы php и MySQL. Ибо в сб уже есть куча проверок на левые запросы. Тот же pages, там получаемое значение раз 5 проверяется на число...

Хотел бы еще прочитать мнение от данных персон @The Night Fury и @Monomizer
 
Последнее редактирование:

diller110

Добрая душа
Сообщения
353
Реакции
278
@AS TRO, Ну собственно обычная SQL инъекция. Может особенность конкретной версии SB, с такой уязвимостью?
Снимок3.PNG
Лучше написать об этом разработчикам.
 

gibs

Фитиль народного волненья
Сообщения
722
Реакции
407
Мошенник
Ну а что ты хочешь услышать? Обычная sql инъекция, как уже и сказали. Это старая известная проблема сб. Особенно то, что параметры от залогиненых юзеров вообще не проверяются на валидность, что является серьезной проблемой для тех, кто продает админки через сб. Обновляй свой форк)
 
B

bigbrain911

Оффтоп
 

selax

Добрая душа
Сообщения
1,172
Реакции
521
@AS TRO, не совсем так. Это приведение "любого" типа к типу integer. То есть любое значение $aid допустимо.
 

Tallanvor

НЕ ПИШУ я плагины!!! И не правлю! И ваще...
Сообщения
1,352
Реакции
554
@AS TRO, увы, я не кодер.
Но при этом есть понимание, что без перелопачивания ОТ и ДО всего СБ - не обойтись.
Защита от SQL-инъекций в PHP и MySQL - ИМХО, тут толково расписано, как стоит и как не надо делать...
 

Tallanvor

НЕ ПИШУ я плагины!!! И не правлю! И ваще...
Сообщения
1,352
Реакции
554
Проще "с нуля" SourceBans переписать на каком нибудь фреймворке.
Не поверишь, но я уже не раз задумывался об этом (как и о статистике)
Но прикидывая, сколько это потянет в денежном эквиваленте, становится немного дурно....
 

selax

Добрая душа
Сообщения
1,172
Реакции
521
Не поверишь, но я уже не раз задумывался об этом (как и о статистике)
Но прикидывая, сколько это потянет в денежном эквиваленте, становится немного дурно....
Нужен энтузиаст. В 2010 году у меня не сильно много времени ушло чтобы весь функционал веб части SB реализовать как модуль к IPB. Это всё при том, что у меня было очень поверхностное знание PHP.

@AS TRO, я так понял инъекция делается с помощью кавычки, а что если в php.ini включить magic_quotes_gpc?
 

Tallanvor

НЕ ПИШУ я плагины!!! И не правлю! И ваще...
Сообщения
1,352
Реакции
554
а что если в php.ini включить magic_quotes_gpc?
Та вроде как на этот случай есть заплатка в коде:

PHP:
         * @param boolean $magic_quotes If false, use mysqli_real_escape_string()
         *     if you are quoting a string extracted from a POST/GET variable,
         *     then pass get_magic_quotes_gpc() as the second parameter. This will
         *     ensure that the variable is not quoted twice, once by qstr() and
         *     once by the magic_quotes_gpc.
         *     Eg. $s = $db->qstr(_GET['name'],get_magic_quotes_gpc());
         * @return string Quoted string
         */
        function qstr($s, $magic_quotes = false)
        {
                if (is_null($s)) return 'NULL';
                if (!$magic_quotes) {
                        // mysqli_real_escape_string() throws a warning when the given
                        // connection is invalid
                        if (PHP_VERSION >= 5 && $this->_connectionID) {
                                return "'" . mysqli_real_escape_string($this->_connectionID, $s) . "'";
                        }

                        if ($this->replaceQuote[0] == '\\') {
                                $s = adodb_str_replace(array('\\',"\0"), array('\\\\',"\\\0") ,$s);
                        }
                        return "'" . str_replace("'", $this->replaceQuote, $s) . "'";
                }
                // undo magic quotes for "
                $s = str_replace('\\"','"',$s);
                return "'$s'";
        }
 

selax

Добрая душа
Сообщения
1,172
Реакции
521
@Tallanvor, я просто пытался с помощью этих строк хакнуть свой сб - не получилось. Когда не вижу проблемы не получается думать. :)
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #15
@selax, энтузиасты всегда найдутся. Я вот лично не против переписать СБ с нуля. Но в одиночку при виде мегатонны кода - желание пропадает) Ибо займёт достаточно много времени
 

Tallanvor

НЕ ПИШУ я плагины!!! И не правлю! И ваще...
Сообщения
1,352
Реакции
554
@CrazyHackGUT, ну, мегатонны кода там только из-за того, что писалось с нуля и на коленке.
Если использовать готовый фреймворк, то количество сокращается в разы, так или иначе.
Плюс, некоторый функционал можно убрать (что-то не встречал ни разу прикреплённых демок к банам, например)
Но и добавит некоторые вещи не помешает...
Правда, это уже тема отдельного топика.
 

selax

Добрая душа
Сообщения
1,172
Реакции
521
@CrazyHackGUT, в том то и дело что там совсем не мегатонны. Если на фреймворке писать.
--- Добавлено позже ---
Плюс, некоторый функционал можно убрать (что-то не встречал ни разу прикреплённых демок к банам, например).
Я юзал, но несколько иначе. У меня была автозагрузке демок на сайт, и в переписанном SB по дате автоматически выбиралась она.
 

m22b

Участник
Сообщения
1,007
Реакции
283
Скрытое содержимое, доступно для групп : Администраторы, Модераторы, Опытные, Супер-модераторы

Ну окей :)
 

Tallanvor

НЕ ПИШУ я плагины!!! И не правлю! И ваще...
Сообщения
1,352
Реакции
554
@m22b, что тебя смущает?)
Или ты "Опытные" не заметил? ;)
 
Сверху Снизу