Показать сообщение отдельно

  #5328  
Старый 06.02.2009, 18:00
Велемир
Banned
Регистрация: 19.06.2006
Сообщений: 1,239
С нами: 10470131

Репутация: 142


По умолчанию

Люди,вот такая проблема: Проник в систему,нашёл двиг,на котором крутится сайтец.

Вот функция движная,двиг не определил:

Код:
  function tep_db_prepare_input($string) {
    if (is_string($string)) {
      return trim(stripslashes($string));
    } elseif (is_array($string)) {
      reset($string);
      while (list($key, $value) = each($string)) {
        $string[$key] = tep_db_prepare_input($value);
      }
      return $string;
    } else {
      return $string;
    }
  }
Она удаляет пробелы и обратные слэши,если это строка,а если это массив,то делает то же самое и для каждого элемента массива.Если это НИ то и НИ другое,то не делает НИЧЕГО,т.е. получается,что фильтрацию мы обошли(и саму функцию частично).Передаю такое:

1+order+by+1 без кавычек.Она мне выдаёт на выходе 2.Почему ? Я так понял,что он определил это как строку,но тогда почему она выполнила такое преобразование ? Пробелов-то нет,и слэшей обратных тем более.Помогите пожалуйста =_=

ЗЫ: Если передать строку в одинарных или в двойных кавычках,то тогда работает третий блок кода,но я сомневаюсь,что сервер позволит мне так играть(из-за magic_quots_gpc.Пока не проверил,но уверен,что включена).

Так... Походу,это osCommerce, Open Source E-Commerce Solutions.Не заметил я что-то )))

http://www.oscommerce.com/

Ухх,убить бы этот сайт нафиг...

Последний раз редактировалось Велемир; 06.02.2009 в 18:09..
 
Ответить с цитированием