|
2.11, User294 (??), 19:08, 25/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
>интересно...
О сколько нам открытий чудных... или новый взгляд на старые вещи :)
Вспомнился старинный DoS attack применимый для виндов и некоторых *nix: сетевым софтом (самбой, NFS) можно [коге где "было можно"] создать папки с невалидными именами, например слэшами в имени файла.Чисто физически ФС может это создать.А вот удалить потом такой файл штатными средствами юзер обломается :).Так можно например выжрать все место на диске если разрешен аплоад и при том админ ничего с этим не сможет поделать т.к. стереть файл он обломается.Данный прикол встречался на куче разных платформ.
| |
|
3.29, Nick (??), 22:08, 25/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
>[оверквотинг удален]
>О сколько нам открытий чудных... или новый взгляд на старые вещи :)
>
>
>Вспомнился старинный DoS attack применимый для виндов и некоторых *nix: сетевым софтом
>(самбой, NFS) можно [коге где "было можно"] создать папки с невалидными
>именами, например слэшами в имени файла.Чисто физически ФС может это создать.А
>вот удалить потом такой файл штатными средствами юзер обломается :).Так можно
>например выжрать все место на диске если разрешен аплоад и при
>том админ ничего с этим не сможет поделать т.к. стереть файл
>он обломается.Данный прикол встречался на куче разных платформ.
:)
хотя в данной новости суть проста: экранируйте переменные в параметрах команд.
| |
|
|
1.2, Аноним (-), 18:07, 25/03/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>>создать файл '~имя_пользователя' и попробовать его переименовать в файловом менеджере.
konqueror, mc и mv нормально переименовывают
| |
|
2.5, Andrew Kolchoogin (?), 18:24, 25/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
> вот бы еще избавились от дибильной точки в начале имени для скрытия
> файла и сделали нормальный атрибут "скрытый"
Сделали уже сто лет, как: большинство современных файловых систем поддерживают расширенные атрибуты произвольного формата типа "ключ:значение".
Дело за малым: переписать весь накопленный за 40 лет софт и "пересобрать мозг" системным администраторам на новую семантику. Займешься?
| |
|
3.7, Аноним (-), 18:29, 25/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Дело за малым: переписать весь накопленный за 40 лет софт и "пересобрать мозг" системным администраторам на новую семантику. Займешься?
Нет, уж лучше до конца времен пользоваться костылями, изобретенными 40[50[60[70]]] лет назад
| |
|
4.15, User294 (??), 19:28, 25/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Нет, уж лучше до конца времен пользоваться костылями, изобретенными 40[50[60[70]]]
>лет назад
Электричество открыли несколько столетий назад.А электродвигатели и трансформаторы которым более 100 лет с момента изобретения и сегодня в почете.Может и изменились некоторые аспекты но в целом по природе своей это те же устройства что и век назад.По вашей логике от них должны бы уже избавиться как от "костылей"?...
| |
|
5.17, pavlinux (ok), 19:36, 25/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
Даёшь движители на ионной, фотонной и Z-dot тяге!!! Роторы/статоры, поршни/цилиндры в политехнический музей! :)
| |
|
|
3.41, fresco (??), 09:32, 26/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
> вот бы еще избавились от дибильной точки в начале имени для скрытия
не троньте точку, вы, масдайщики!
| |
|
2.18, Аноним (18), 19:42, 25/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
>вот бы еще избавились от дибильной точки в начале имени для скрытия
>файла и сделали нормальный атрибут "скрытый"
А мне дак уже наоборот это удобным кажется.
| |
2.20, аноним (?), 20:00, 25/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
>вот бы еще избавились от дибильной точки в начале имени для скрытия
>файла и сделали нормальный атрибут "скрытый"
смысл сего действа не ясен O_o когда в терминале смотришь сразу видно, где какой файл, а так - фик.
| |
|
1.8, Аноним (8), 18:47, 25/03/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
"ls -- *" работает.
Опция "--" специально для таких случаев придумана, есть у всех основных утилит
| |
|
2.12, Sarge (??), 19:15, 25/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
ls ./* тоже нормально работает.
IMHO это всё просто и банально уязвимости в программах, которые не ограничениями в ФС надо лечить.
| |
2.26, Фнон (?), 20:29, 25/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
>"ls -- *" работает.
>Опция "--" специально для таких случаев придумана, есть у всех основных утилит
И много по вашему людей всегда набирают "ls --" когда звездочку используют ?
| |
|
3.38, sn (??), 08:18, 26/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
Много по вашему людей, которые используют "ls *" вместо простого "ls" без аргументов?
| |
|
4.40, Фнон (?), 08:48, 26/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Много по вашему людей, которые используют "ls *" вместо простого "ls" без
>аргументов?
Звездочку в качестве маски, как и find . -exec sh используют поголовно, понятно что 'ls *' и 'sh -c "echo {}"' это абстрактные примеры, под который подпадает и "ls *.txt".
| |
|
5.45, pernatiy (?), 19:03, 26/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
А что с "ls *.txt" ? Приведите хоть один пример когда использование такой команды даст "неожиданый" результат.
| |
|
6.48, ximaera (?), 19:41, 27/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
Пожалуйста.
ximaera@endeavour:~/tmp$ >-1.txt
ximaera@endeavour:~/tmp$ ls *.txt
ls: invalid option -- '.'
Try 'ls --help' for more information.
ximaera@endeavour:~/tmp$
Обратите внимание, что на единицу ls не ругнулся, так как это валидный аргумент.
Можно забавнее:
ximaera@endeavour:~/tmp$ mkcd ls
ximaera@endeavour:~/tmp/ls$ >good_file.txt
ximaera@endeavour:~/tmp/ls$ >bad_file.txt
ximaera@endeavour:~/tmp/ls$ mv -- bad_file.txt --hide=\*.txt
ximaera@endeavour:~/tmp/ls$ ls
good_file.txt --hide=*.txt
ximaera@endeavour:~/tmp/ls$ ls *.txt
good_file.txt
ximaera@endeavour:~/tmp/ls$ ls *
good_file.txt
ximaera@agavrichen2:~/tmp/ls$
| |
|
7.49, pernatiy (?), 19:59, 27/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
Далее чем на отображение это не влияет. Поэтому я считаю что это несущественно. А более страшного варианта (создание/перезапись файлов) лично я не могу придумать.
| |
|
|
|
|
3.39, Frank (??), 08:20, 26/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
А много людей звёздочку используют? Достаточно уяснить, что при использовании звёздочки, нужно использовать -- и всё будет ОК. Это не причина заниматься кастрацией ФС.
| |
|
|
1.10, NicK (?), 19:04, 25/03/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>вот бы еще избавились от дибильной точки в начале имени для скрытия файла и
>делали нормальный атрибут "скрытый"
Чем проще, тем лучше. Точка останется.
| |
1.13, Аноним (-), 19:16, 25/03/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>выполним типовой 'find . -exec sh -c "echo {}" \;'
это не "типовой" это пример "как не надо делать"
| |
|
2.25, Фнон (?), 20:27, 25/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
>>выполним типовой 'find . -exec sh -c "echo {}" \;'
>
>это не "типовой" это пример "как не надо делать"
Ну и ? Покажите как иначе без всяких внешних скриптов сделать неоднокомандную обработку в find, кром как через вызов shell.
| |
|
3.28, pavel_simple (ok), 21:03, 25/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
>>>выполним типовой 'find . -exec sh -c "echo {}" \;'
>>
>>это не "типовой" это пример "как не надо делать"
>
>Ну и ? Покажите как иначе без всяких внешних скриптов сделать неоднокомандную
>обработку в find, кром как через вызов shell.
простите , а что за изврат запускать /bin/echo через /bin/sh ?
не одной командой - но 5 букв типа xargs не сильно напрягают.
| |
|
4.32, Аноним (-), 23:41, 25/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
>простите , а что за изврат запускать /bin/echo через /bin/sh ?
echo - это встроенная команда в sh, см. sh(1)
| |
|
5.34, pavel_simple (ok), 07:57, 26/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
>>простите , а что за изврат запускать /bin/echo через /bin/sh ?
>
>echo - это встроенная команда в sh, см. sh(1)
везёт-же вам
ls -la /bin/echo
-rwxr-xr-x 1 root root 30136 Апр 4 2008 /bin/echo
Debian 5 (lenny)
| |
|
6.42, Sarge (??), 10:57, 26/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
на самом деле во многих шеллах эта команда встроена. man sh, man bash (Debian Etch).
Можете для эксперимента переименовать файл mv /bin/echo /bin/echo.1 и после этого запустить в терминале echo test --отработает без проблем.
| |
|
7.43, pavel_simple (ok), 11:02, 26/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
>на самом деле во многих шеллах эта команда встроена. man sh, man
>bash (Debian Etch).
>
>Можете для эксперимента переименовать файл mv /bin/echo /bin/echo.1 и после этого запустить
>в терминале echo test --отработает без проблем.
и что -- то что почти во всех shell'ах эта команда встроенная, я должен её выполнять именно через shell? особенно учитывая видимо то, что bash/dash/ksh/zsh гораздо дольше будут выполняться чем /bin/echo ??? или именно для того, чтобы приведённые в примерах глупости работали?
| |
|
8.46, Sarge (??), 06:45, 27/03/2009 [^] [^^] [^^^] [ответить] | +/– | Это не глупость, а Proof of Concept В более реальных задачах скорее всего испол... текст свёрнут, показать | |
|
|
|
5.35, Frank (??), 08:06, 26/03/2009 [^] [^^] [^^^] [ответить]
| +/– |
>>простите , а что за изврат запускать /bin/echo через /bin/sh ?
>
>echo - это встроенная команда в sh, см. sh(1)
Сфига ли?
frank@fqc-desktop:~$ file 'which echo'
/bin/echo: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.8, dynamically linked (uses shared libs), stripped
| |
|
|
|
|
1.14, Аноним (-), 19:26, 25/03/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
вашу ж мать, этож юникс
умный админ такого делать не станет, а для тупых пользователей прикладной гуёвый софт не должен позволять такие фокусы выкидывать
| |
1.21, Аноним (-), 20:08, 25/03/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
[root@lx ~]# ls -lib wireless
8651803 -rw-r--r-- 1 root root 695 Mar 24 2008 wireless
[root@lx ~]# find . -inum 8651803 -exec ls -l "{}" \;
-rw-r--r-- 1 root root 695 Mar 24 2008 ./wireless
[root@lx ~]#find . -inum 8651803 -exec rm -f "{}" \;
Inodes отменили ?
| |
1.36, Frank (??), 08:12, 26/03/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Вот с ls это не работает!
frank@fqc-desktop:~/1$ ls
; echo 1 > 2
frank@fqc-desktop:~/1$ ls *
; echo 1 > 2
frank@fqc-desktop:~/1$ ls
; echo 1 > 2
frank@fqc-desktop:~/1$ rm *
frank@fqc-desktop:~/1$ ls
| |
1.44, Andrey Mitrofanov (?), 12:33, 26/03/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
##> Следует ли ограничить использование спецсимволов в файловых системах Unix
Следует ли "решать" проблему экранирования спец.символов шела -- костылями в файлов_ых_ системах? ...в POSIX-е?
Является ли проблема экранирования спец.символов шелла -- проблемой posix-а/unix-вея? ...любой, хоть какой-нибудь, файловой системы?
(То, что она является "неисчерпаемым источником" ошибок людей, -- понятно.)
Является ли сравнительно бОльшая сложность безопасного прграммирования в сравнении с программированием "вообще"(*1) -- проблемой {POSIX, файловой системы, Индустрии, $чего-ещё$ }? ...которую нужно решать запретами? ...костылями в стандартах?
(*1) => существенное число "просто" работающих програм -- содержат (стремятся содержать?!) ошибки безопасности.
...надо ли в консерватории вообще что-то исправлять?... ...возможно ли??...
| |
1.47, XoRe (ok), 17:42, 27/03/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А мне в свое время помогала кнопка Tab в этом деле =)
Когда был открыт фтп сервер с доступом на запись и всякие умники создавали файлы с веселыми именами, мне помогало автодополнение в шелле (csh/bash).
Шелл сам подставлял имя файла с экранированными символами.
Что говорит о том, что проблемы с такими именами файлов только у людей.
| |
1.50, sEr... (?), 05:36, 05/05/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Это скорее не проблемма, а то что нужно знать и не делать. :)
И правда, это может делать, либо злоумышленник, либо баран, который скорее всего будет юзать винду.
Сознательно сам себе врядли такое накуралесишь :)))
А по поводу точки перед файлами очень даже удобно, ненужно это менять. Хотя... Смотря как.
| |
|