"PHP" / Говнокод #3697 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
...
chmod($file, 0777);
unlink($file);
...

На просторах интернета можно найти функцию для рекурсивного удаления папки со всем содержимым вот с таким фрагментом.

Запостил: Uchkuma Uchkuma, (Updated )

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

  • - Извольте слушаться меня!
    - Да кто Вы, сударь, здесь такой?
    - Уйдите прочь!
    - Хренею с Вашей наглости!!!
    Ответить
  • [sarcasm]
    потенциальная уязвимость! блок операций неатомарен, вдруг кто-то успеет прочитать?
    [/sarcasm]

    а вообще отличный код. Топите 3684, господа!
    Ответить
  • Кстати да. Если скрипт обладает таки соответствующими правами, то у злоумышленника есть несколько наносекунд, чтобы завладеть файлом.
    Ответить
    • А для чего ещё нужно было делать файл исполнимым да ещё для всех юзеров?
      Прямо как белый кролик из «Парка юрского периода».
      Автор забыл поставить паузу между чмодом и анлинком.
      Ответить
      • Задумка автора: "А вдруг у скрипта не хватит прав на удаление файла".
        Ответить
        • как раз сталкивался с обратной ситуацией: если скрипт создает временные файлы и по каким то причинам не удаляет (забыл, крешнулся) то руками удалить его уже не удается
          кстати, что бы выставить нужные права, нужно тоже иметь права
          Ответить
          • Lure Of Chaos пишет:
            кстати, что бы выставить нужные права, нужно тоже иметь права

            В том-то и говнокод!
            Ответить
            • но автор думал, что по умолчанию они такие, что можно читать и писать, но нельзя удалять!
              и еще вспомнил, что право удалить файл задается не правами файла, а контейнера (папки, директории) в которой оное валяется
              Ответить
      • а что там за белый кролик?

        а, тю, это про бэкдор Недри?
        Ответить
    • кстати, это не так уж невероятно. можно организовать два потока, один выполняет много запросов к скрипту, другой пытается атаковать. как только фазы совпадут - вуаля
      Ответить

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

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8