Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Царь говно кодеров ? или хитрость ? дыра в модулях punpun`а

Тема в разделе "Мусорка", создана пользователем LisER07, 27 дек 2017.

27.12.17 в 08:46
23.06.20 в 23:45
18
1.563
6
  1. TopicStarter Overlay
    LisER07

    VIP Кинотрафик v2 Кодер

    Регистрация:
    4 окт 2015
    Сообщения:
    630
    Лучших ответов:
    2
    Рейтинги:
    +116 / 3 / -0
    Дорогие форумчане!

    Не давно, взломали один очень хороший сайт. Пытались выяснить как все таки взломали. Весь код сайта перепроверили, но нечего. Под подозрения попали сторонние модули а именно модули PunPun `а (и не зря). Открыв базу, все стало ясно. В таблице модуля "Collection", в которой по идеe должны быть картинки (jpg, png и тд), нашли файлы формата php, php7 и тд. В чем дыра то, спрашиваете ? Дыра в том что, файл который загружает картинки модуля на ваш сайт, не проверяет файл какого формата. ниже код
    PHP:
    @error_reporting E_ALL E_WARNING E_NOTICE );
    @
    ini_set 'display_errors'true );
    @
    ini_set 'html_errors'false );
    @
    ini_set 'error_reporting'E_ALL E_WARNING E_NOTICE );

    define('DATALIFEENGINE'true);
    define'ROOT_DIR'substrdirname(  __FILE__ ), 0, -12 ) );
    define'ENGINE_DIR'ROOT_DIR '/engine' );

    include 
    ENGINE_DIR.'/data/config.php';

    date_default_timezone_set $config['date_adjust'] );

    if (
    $config['http_home_url'] == "") {

        
    $config['http_home_url'] = explode("engine/ajax/xf_file.php"$_SERVER['PHP_SELF']);
        
    $config['http_home_url'] = reset($config['http_home_url']);
        
    $config['http_home_url'] = "http://".$_SERVER['HTTP_HOST'].$config['http_home_url'];

    }

    require_once 
    ENGINE_DIR.'/classes/mysql.php';
    require_once 
    ENGINE_DIR.'/data/dbconfig.php';
    require_once 
    ENGINE_DIR.'/modules/functions.php';

    $data = array();

    $error false;
    $files = array();

    $uploaddir ROOT_DIR '/uploads/xf_img/' date('Y-m-d') . '/';
    // если директория не существует, создает ее с правами 777 чтобы можно было использовать файлы как хочется
    if( ! is_dir$uploaddir ) ) mkdir$uploaddir0777 );

    // В цикл берется массив $_FILES и сразу же копируются все файлы, не проверяя формат и тд
    foreach( $_FILES as $file ){
        
    $file_name date('H_i_s') . '_' $file['name'];
        
    $file['name'] = iconv("UTF-8""windows-1251"$file_name);
        
    $name_db $config['http_home_url'] . 'uploads/xf_img/' date('Y-m-d') . '/' $file_name;
        
    $name_bd '/uploads/xf_img/' date('Y-m-d') . '/' $file_name;
        if( 
    move_uploaded_file$file['tmp_name'], $uploaddir $file['name'] ) ){
            
    $files[] = "[center][img]" $name_db ."[/img][/center]";
            
    $db->query("INSERT INTO " PREFIX "_xfield_files (name, url) VALUES ('0', '$name_bd')");
        }
        else{
            
    $error true;
        }
    }
     
    $data $error ? array('error' => 'Ошибка загрузки файлов.') : array('files' => $files );

    echo 
    json_encode$data );
    PHP:
    // если директория не существует, создает ее с правами 777 чтобы можно было использовать файлы как хочется
    if( ! is_dir$uploaddir ) ) mkdir$uploaddir0777 );
    PHP:
    // В цикл берется массив $_FILES и сразу же копируются все файлы, не проверяя формат и тд
    foreach( $_FILES as $file ){
    Это дыра есть в несколько его модулях - xField Meta, Collection, Cat Meta, Tags Meta
    Только эти модули у меня были с открытым кодом, как не странно в них это же дыра

    Как же закрыть ее ? Просто ...
    открываем файлы
    xField Meta - engine/ajax/xf_file.php
    Cat Meta - engine/ajax/cat_file.php
    Collection - engine/ajax/coll_file.php
    Tags Meta - engine/ajax/tag_file.php

    находим
    PHP:
    mkdir$uploaddir0777 );
    заменим на
    PHP:
    mkdir$uploaddir0755 );
    находим
    PHP:
    $file_name date('H_i_s') . '_' $file['name'];
    после вставим
    PHP:
    if (!in_array((str_replace("."""substr($file['name'], (strrpos($file['name'], "."))))), array('jpg''jpeg''png''gif')))    continue;
    таким образом запрещаем загрузки всех форматов кроме форматов jpeg, jpg и png
     
    #1 LisER07, 27 дек 2017
    Последнее редактирование: 27 дек 2017
    • Нравится Нравится x 6
    • Полезно Полезно x 3
  2. Frosty

    Забанен

    Регистрация:
    31 мар 2017
    Сообщения:
    941
    Лучших ответов:
    1
    Рейтинги:
    +188 / 18 / -0
    Странно каким образом взломали если загрузка изображения к примеру в коллекции идет только в админке а не в пользовательской части, у меня стоит модуль от PunPun открыл файл ради интереса, похожего кода даже близко нет, может модуль старой версии или не автора ?

    Единственное что нашел это

    Код:
    if(!is_dir($uploaddir))
    {
       
    }
     
  3. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.292
    Лучших ответов:
    31
    Рейтинги:
    +3.892 / 96 / -0
    Ахахахах. Проорал. Ты взял бесплатные слитые модули и пиздишь тут. byroot / ZerocooL удалите эту помойную тему.
     
  4. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.292
    Лучших ответов:
    31
    Рейтинги:
    +3.892 / 96 / -0
    Frosty если ты покупал Collections то там все ок, не парься
    upload_2017-12-27_8-22-17.png
     
  5. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.292
    Лучших ответов:
    31
    Рейтинги:
    +3.892 / 96 / -0
    Люди качают бесплатные слитые версии а потом гонят на меня? Ахахах. Вот это пиздец.
    Ни в одной текущей версии xField Meta, Tags Meta, Collections (ну там есть, только там все ок) нет таких файлов
    upload_2017-12-27_8-24-29.png
     
  6. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.292
    Лучших ответов:
    31
    Рейтинги:
    +3.892 / 96 / -0
    Так что LisER07 требую извинений Говнокодер. Как там твой парсер видосов? Обновил его? Выдал его бесплатно как обещал?
    [​IMG]
     
  7. TopicStarter Overlay
    LisER07

    VIP Кинотрафик v2 Кодер

    Регистрация:
    4 окт 2015
    Сообщения:
    630
    Лучших ответов:
    2
    Рейтинги:
    +116 / 3 / -0
    :D:D нет дружище) именно платные взял ))
     
  8. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.292
    Лучших ответов:
    31
    Рейтинги:
    +3.892 / 96 / -0
    LisER07 ахаха, ебать ты ебанутый. Там нет таких файлов. Покажи ка мне скрин админочки, дорогуша.
     
  9. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.292
    Лучших ответов:
    31
    Рейтинги:
    +3.892 / 96 / -0
    Вот еще в чем соль, этот LisER07 скидывал мне архив моих модулей что слили, там старые версии. Я не удивлюсь если он их поставил на тот сайт и теперь винит меня в этом. К тому же, все забыли дело с видео ретранслятором от него же? А другой фришный модуль смотрели его код?))) Так еще на других сайтах регал несколько акков и там не выполнял работу людям. Речь о dle-faq.ru идет)) Так что этот щенок что-то гонит еще на меня, вот умора.
     
  10. sergo

    sergo Бывалый

    Регистрация:
    18 дек 2016
    Сообщения:
    352
    Лучших ответов:
    0
    Рейтинги:
    +78 / 3 / -0
    посмотрел модули не нашол не чего что заявлено в старпосте :D все модули купленые. автору респект. Посторожил кучу косяков пусть хоть и модулей из паблика. А пунпуну советую не мтом крыть автора топика а искать решение проблем чтобы модули не попадали в паблик будет куда толковее. так как купили модуль люди он попал в паблик... далее выдача засралась и от модуля нету не какого толку. логично ? логично
     
  11. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.292
    Лучших ответов:
    31
    Рейтинги:
    +3.892 / 96 / -0
    sergo старые версии не были защищены ioncube, потом только. Никаких подобных файлов в новых версиях нет и давно уже не было. Дыр в модулях тоже нет, это я могу уверить под любым предлогом.
     
  12. sergo

    sergo Бывалый

    Регистрация:
    18 дек 2016
    Сообщения:
    352
    Лучших ответов:
    0
    Рейтинги:
    +78 / 3 / -0
    я и говорю что тоже не чего не нашёл в архивах купленых модулей. В чем проблем делать привязку к серверу своему скриптов ? ведь все равно сайты поддерживаются не куда не денутся.
     
  13. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.292
    Лучших ответов:
    31
    Рейтинги:
    +3.892 / 96 / -0
    sergo привязка есть к домену.
     
  14. Frosty

    Забанен

    Регистрация:
    31 мар 2017
    Сообщения:
    941
    Лучших ответов:
    1
    Рейтинги:
    +188 / 18 / -0
    Так я поэтому и написал что такого нет в платном модуле
     
  15. aeneas

    Забанен

    Регистрация:
    12 мар 2016
    Сообщения:
    11.489
    Лучших ответов:
    10
    Рейтинги:
    +4.043 / 208 / -0
    гам правильно делает что вшивает шеллы в свои модули которые "якобы" потом попадают в паблик, типа воруются, маркетинговый ход, типа а нехуй воровать )
     
    • Нравится Нравится x 1
  16. Romantv

    Забанен

    Регистрация:
    17 июл 2015
    Сообщения:
    6.992
    Лучших ответов:
    6
    Рейтинги:
    +2.000 / 141 / -0
    На двух сайтах,модуль поиска стоит.
    Сайты пока не взломаны)
     
  17. sobakatochkaru

    sobakatochkaru Местный

    Регистрация:
    30 июн 2015
    Сообщения:
    1.253
    Лучших ответов:
    0
    Рейтинги:
    +407 / 4 / -0
  18. ghost597

    ghost597 Зелёный

    Регистрация:
    23 июн 2020
    Сообщения:
    1
    Лучших ответов:
    0
    Рейтинги:
    +0 / 0 / -0
    Здравствуйте. Дайте пожалуйста ваш скайп, нужно связаться с вами чтобы обновить лицензию xfields meta, так как после смены домена из-за него не работает сайт.
     
  19. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.292
    Лучших ответов:
    31
    Рейтинги:
    +3.892 / 96 / -0
    Вам на сайт lazydev.pro
     
Яндекс.Метрика