Ищу [хак] Недостаточная фильтрация входящих данных

Тема в разделе "DLE", создана пользователем dos03, 18 июн 2008.

Информация :
Актуальная версия DataLife Engine 11.1
( Final Release v.11.1 | Скачать DataLife Engine | Скачать 11.1 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 10.0 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. dos03

    dos03 -----

    Регистр.:
    9 мар 2007
    Сообщения:
    871
    Симпатии:
    428
    Проблема: Недостаточная фильтрация входящих данных.

    Ошибка в версии: все версии

    Степень опасности: Низкая, применима только на устаревших версиях браузера Opera

    Ручное исправление:

    Откройте файл: engine/modules/imagepreview.php

    найдите:
    ниже добавьте:
     
    milw0rm нравится это.
  2. Walkman

    Walkman

    Регистр.:
    17 авг 2007
    Сообщения:
    334
    Симпатии:
    217
    Недостаточная фильтрация входящих данных

    Проблема: Недостаточная фильтрация входящих данных.

    Злоумышленник может получить информацию о пути установки скрипта

    Ошибка в версии: 6.7 и более ранние. Иногда проходит на 7.0, с чем связано не пойму, скорее всего зависит от настроек вывода ошибок.

    Степень опасности: низкая

    Ручное исправление:

    /engine/modules/functions.php

    Находим:
    PHP:
    function check_xss () {

        
    $url html_entity_decode(urldecode($_SERVER['QUERY_STRING']));

        if (
    $url) {

            if ((
    strpos($url'<') !== false) ||
                (
    strpos($url'>') !== false) ||
                (
    strpos($url'"') !== false) ||
                (
    strpos($url'./') !== false) ||
                (
    strpos($url'../') !== false) ||
                (
    strpos($url'\'') !== false) ||
                (
    strpos($url'.php') !== false)
               ) 
            {
                if (
    $_GET['do'] != "search" OR $_GET['subaction'] != "search")    die("Hacking attempt!");
            }

        }

    }
    Меняем на:
    PHP:
    function check_xss () {

        
    $url html_entity_decode(urldecode($_SERVER['QUERY_STRING']));

        if (
    $url) {

            if ((
    strpos($url'<') !== false) ||
                (
    strpos($url'>') !== false) ||
                (
    strpos($url'"') !== false) ||
                (
    strpos($url'./') !== false) ||
                (
    strpos($url'../') !== false) ||
                (
    strpos($url'\'') !== false) ||
                (
    strpos($url'[') !== false) ||
                (
    strpos($url']') !== false) ||
                (
    strpos($url'{') !== false) ||
                (
    strpos($url'}') !== false) ||
                (
    strpos($url'.php') !== false)
               )
            {
                if (
    $_GET['do'] != "search" OR $_GET['subaction'] != "search")    die("Hacking attempt!");
            }

        }

    }
    Те же манипуляции и с файлом /engine/inc/functions.inc.php
     
Статус темы:
Закрыта.