1. PHP / Говнокод #13866

    +160

    1. 1
    2. 2
    3. 3
    $this->request_url = 'h' . 't' . 't' . 'p' . ':' . '/' . '/' . 's' . 'i' . 't' . 'e' . 'p' . 'r' . 'o' . 'f' . '.' . 'n' . 'e' . 't' . '/' . 'c' . 'h' . 'e' . 'c' . 'k' . '_' . 'l' . 'i' . 'c' . 'e' . 'n' . 's' . 'e' . '.' . 'p' . 'h' . 'p';
    $this->moduleName = 'w' . 'e' . 'b' . 'A' . 's' . 'y' . 's' . 't' . 'Q' . 'u' . 'i' . 'c' . 'k' . 'S' . 'e' . 'a' . 'r' . 'c' . 'h';
    $this->domain_hash = md5('kolu4iy' . $_SERVER['H' . 'T' . 'T' . 'P' . '_' . 'H' . 'O' . 'S' . 'T'] . 'kolu4iy' . $this->moduleName . 'kolu4iy');

    Защита на высоте ))))

    Запостил: invision70, 28 Сентября 2013

    Комментарии (20) RSS

    • 'Н' . 'а' . ' ' . 'з' . 'а' . 'п' . 'и' . 'с' . 'ь' . ' ' . 'к' . 'о' . 'л' . 'ю' . 'ч' . 'е' . 'г' . 'о' . ' ' . 'п' . 'о' . ' ' . 'б' . 'у' . 'к' . 'в' . 'а' . 'м' . ' ' . 'а' . 'в' . 'т' . 'о' . 'р' . 'у' . ' ' . 'н' . 'е' . ' ' . 'х' . 'в' . 'а' . 'т' . 'и' . 'л' . 'о' . ' ' . 'т' . 'е' . 'р' . 'п' . 'е' . 'н' . 'и' . 'я' . '?' . ' ' . ':' . ')'
      Ответить
      • <?='В'.'и'.'д'.'и'.'м'.'о'.' '.'о'.'т'.' '.'g'.'r'.'e'.'p'.' '.'з'.'а'.'щ'.'и'.'т'.'а'?>
        Ответить
      • он заповедовал не коверкать свой псевдоним, желая быть проиндексированным на говнокоде
        Ответить
    • >Защита на высоте ))))
      Вот только от кого?
      Ответить
      • От тех кто будет распространять модуль по всей видимости. Читайте содержимое свойств :)
        Ответить
    • Там все этим усеяно...
      public function install() {
              db_phquery("INSERT INTO `S" . "P" . "_" . "l" . "i" . "c" . "e" . "n" . "s" . "e` (`m" . "o" . "d" . "u" . "l" . "e`) VALUES ('" . $this->moduleName . "') ");
          }
      
          public function getSessionData() {
              db_phquery('DELETE FROM `S' . 'P' . '_' . 'l' . 'i' . 'c' . 'e' . 'n' . 's' . 'e` WHERE module="' . $this->moduleName . '_1" AND is_session=1 ');
              db_phquery('DELETE FROM `S' . 'P' . '_' . 'l' . 'i' . 'c' . 'e' . 'n' . 's' . 'e` WHERE module="' . $this->moduleName . '_2" AND is_session=1');
              $arr = array('key' => $this->getHash(), 'val' => $this->getHash());
              $_SESSION[$arr['key']] = $arr['val'];
              db_phquery('INSERT INTO `S' . 'P' . '_' . 'l' . 'i' . 'c' . 'e' . 'n' . 's' . 'e` (module,hash,is_session) VALUES ("' . $this->moduleName . '_1","' . $arr['key'] . '",1) ');
              db_phquery('INSERT INTO `S' . 'P' . '_' . 'l' . 'i' . 'c' . 'e' . 'n' . 's' . 'e` (module,hash,is_session) VALUES ("' . $this->moduleName . '_2","' . $arr['val'] . '",1) ');
              return $arr;
          }
      Ответить
    • find -iname '*.php' -exec sed -i "s/' . '//" {}
      ?
      (запускать не пробовал)
      Ответить
      • Тогда в следующей ревизии будет такая защита:
        'h' .    't' . "t". 'p'

        :)
        Ответить
        • 'h' . "t\x74" . 'p' тогда уж. Иначе wvxvw тупо добавит звездочку после пробелов в своей регулярке ;)
          Ответить
          • bormand, вы переоцениваете интеллектуальные возможности автора этой защиты ;)
            Ответить
            • Ну на самом деле абсолютная защита только одна - SaaS.

              А все остальное - временная мера, при которой надо сопоставлять время взлома с ценностью софтины... В нашем случае, скорее всего, сложность защиты соответствует ценности модуля, и автора не в чем винить ;)
              Ответить
              • если интеллект зашкаливает - можно передрать и улучшить. кстати, чему способствует GNU
                Ответить
              • Слышал мнение, что если уж очень хочется скоммуниздить некий ресурс (привожу в пример вебину) - то всё делается хуже некуда элементарно: лямзится весь ресурс до куда руки доходят, а затем очень тупо и быстренько пишется серверная часть тёмной стороны. Говорят, вполне себе практика.
                Ответить
                • Если ресурс так легко переписывается - то ценность его серверной части явно близка к нулю, и защищать там нечего ;) Ну или вообще стоит какая-нибудь CMS'ка с изкоробочным функционалом, которую можно заменить на любую другую, и залить в нее спизженый контент.

                  А я все-таки о приложениях, у которых есть не только голый контент, но и какие-никакие алгоритмы. Например онлайн-бухгалтерия или сервер какой-нибудь игрушки. Вот там реверс серверной части уже не так прост... И продавать серверную часть таких систем надо с осторожностью (или вообще не продавать, а держать на своих серверах).
                  Ответить
                  • Уже плюсанул вам в карму, по этому поводу.
                    Ответить
                • Это алгоритм создания фишингового сайта.
                  Ответить
    • Простой заменой по тексту "' . '" на "" решается проблема
      Ответить

    Добавить комментарий