|
|
3.17, Аноним (-), 13:53, 28/06/2014 [^] [^^] [^^^] [ответить]
| +/– |
# stat -c '%A' ./chmod
-rw-r--r--
# /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 ./chmod --help
Использование: ./chmod [КЛЮЧ]... РЕЖИМ[,РЕЖИМ]… ФАЙЛ
или: ./chmod [КЛЮЧ]… ВОСЬМ-РЕЖИМ ФАЙЛ…
или: ./chmod [КЛЮЧ]… --reference=ОФАЙЛ ФАЙЛ…
Смена РЕЖИМА доступа к указанным ФАЙЛАМ.
При задании --reference, установить режим
указанных ФАЙЛОВ как у ЭФАЙЛА.
| |
|
4.59, Аноним (-), 21:24, 28/06/2014 [^] [^^] [^^^] [ответить]
| +6 +/– |
> Использование: ./chmod [КЛЮЧ]... РЕЖИМ[,РЕЖИМ]… ФАЙЛ
Русский chmod. Бессмысленно и беспощадно.
| |
|
|
|
1.2, Аноним (-), 10:59, 28/06/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
> [leon@defensecode WILD]$ strace rm *
> execve("/bin/rm", ["rm", "DIR1", "DIR2", "DIR3", "file1.txt", "file2.txt",
> "file3.txt", "-rf"], [/* 25 vars */]) = 0
> ^- HERE
Во FreeBSD, кстати, не сработает.
| |
|
|
3.4, Аноним (-), 11:02, 28/06/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
Раньше считал это недальновидностью и непродуманностью UI, а оно вон как оказалось.
| |
|
2.16, vle (ok), 13:53, 28/06/2014 [^] [^^] [^^^] [ответить]
| +3 +/– |
>> [leon@defensecode WILD]$ strace rm *
>> execve("/bin/rm", ["rm", "DIR1", "DIR2", "DIR3", "file1.txt", "file2.txt",
>> "file3.txt", "-rf"], [/* 25 vars */]) = 0
>> ^- HERE
> Во FreeBSD, кстати, не сработает.
Во FreeBSD в отличие от glibc несломанный POSIX getopt(3).
Так что передастся rm-у "-rf" как опция или как файларгумент будет зависеть от того,
на какое место она станет после раскрытия *.
Но в целом "проблема" глобальна.
| |
|
|
4.57, Аноним (-), 21:01, 28/06/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Пусть - это ласковое название символа пробела?
Ну так "пустота" же.
| |
|
|
|
1.6, Аноним (-), 11:18, 28/06/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +13 +/– |
два минуса придумали как раз для этого, для разделения интерпретируемых аргументов и подставленных имён файлов
| |
|
2.8, Anonymus (?), 11:31, 28/06/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
Всё равно это бага, broken by design по ихнему. Интерпретатор понятия не имеет о назначении аргументов. Правильное решение когда программа сама обрабатывает маски, а не когда приходится вбивать слеш или заворачивать маску в кавычки. И, кстате, в некоторых случаях (а у некоторых -- очень даже во многих) легко напороться на дофига файлов и упереться в ограничение длины командной строки.
| |
|
3.9, Аноним (-), 11:35, 28/06/2014 [^] [^^] [^^^] [ответить]
| +6 +/– |
для этого и придумали два минуса, всё что после них обрабатывается как имя файла, а реализовывать один и тот же алгоритм разбора масок в каждой программе достаточно глупо.
| |
|
|
5.33, Аноним (-), 15:52, 28/06/2014 [^] [^^] [^^^] [ответить]
| +5 +/– |
> ага, C startup code в каждой программе
А в некоторых его может и не быть. Облом, правда? :)
| |
|
4.42, Ordu (ok), 17:51, 28/06/2014 [^] [^^] [^^^] [ответить]
| +/– |
> для этого и придумали два минуса, всё что после них обрабатывается как
> имя файла, а реализовывать один и тот же алгоритм разбора масок
> в каждой программе достаточно глупо.
Вообще-то, для решения этой проблемы были придуманы библиотеки, в т.ч. и shared библиотеки. И ведь в libc подобный алгоритм не был бы лишним, между прочим.
| |
4.65, Аноним (-), 01:15, 29/06/2014 [^] [^^] [^^^] [ответить]
| –1 +/– |
> для этого и придумали два минуса
А обрабатывать два минуса в каждой программе, это умно, ага.
| |
|
5.120, Аноним (120), 23:28, 29/06/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А обрабатывать два минуса в каждой программе, это умно, ага.
man 3 getopt
| |
|
6.121, arisu (ok), 23:32, 29/06/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> А обрабатывать два минуса в каждой программе, это умно, ага.
> man 3 getopt
cуровые джедаи не пользуются библиотеками. даже libc.
| |
|
|
|
3.20, Аноним (-), 14:21, 28/06/2014 [^] [^^] [^^^] [ответить]
| +2 +/– |
Работа с аргументной строкой как с монолитной raw строкой в принципе 'broken by design', случай с разворачиванием звёздочки только один из подобных негативных сайдэффектов. В нормальной архитектуре чанки аргументной строки должны быть теггированы.
| |
|
4.41, Ordu (ok), 17:47, 28/06/2014 [^] [^^] [^^^] [ответить]
| +/– |
Если говорить о linux'е, то ни о каких монолитных raw строках речи не идёт. В помощь вам: man 2 execve.
Затем, правда, мой склероз мне отказывает, и я уже не могу сказать, кто именно заполняет argv[] и envp[] для процесса -- libc или ядро, -- но даже если и libc, то всё равно речь идёт вовсе не о "монолитной raw" строке, но о argz/envz векторах, заботливо положенных ядром на стек. Что, вероятно, можно эксплуатировать, используя то, что символ '\0' имеет особое сакральное значение. Но, глядя на заголовок execve, признаемся себе, что вряд ли.
Так что случай с разворачиванием звёздочки -- это негативный сайдэффект какой-то другой проблемы, и вовсе не фиктивной проблемы каких-то там "монолитных raw-строк".
| |
|
5.43, rob pike (?), 17:54, 28/06/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
Товарищ явно имел в виду что-то типа Windows Shell, чтоб шаг влево-вправо - расстрел.
| |
|
|
7.85, rob pike (?), 11:18, 29/06/2014 [^] [^^] [^^^] [ответить]
| +2 +/– |
Для чего хорошая? В каких случаях хорошая?
Вы серьезно готовы отстаивать точку зрения о том что именно шелл - то самое место где имеет смысл жертвовать гибкостью ради прочего?
Тем более что пример-то - прямо перед глазами, Windows PowerShell же, в котором проще застрелиться (или, что чаще - написать скрипт прямо на С#) чем сделать что-то, чего разработчики не предусмотрели эксплицитно.
| |
|
|
9.105, arisu (ok), 19:34, 29/06/2014 [^] [^^] [^^^] [ответить] | +1 +/– | как минимум шелл ты себе можешь заменить на что угодно знаешь, он ведь не приби... текст свёрнут, показать | |
|
|
11.137, arisu (ok), 04:47, 30/06/2014 [^] [^^] [^^^] [ответить] | +1 +/– | так в чём проблема-то пишешь библиотеку сборки и парзинга твоего нового формата... текст свёрнут, показать | |
|
|
13.156, arisu (ok), 10:39, 01/07/2014 [^] [^^] [^^^] [ответить] | +2 +/– | 1 уговорить автора использовать твою библиотеку для получения параметров 2 на... большой текст свёрнут, показать | |
|
|
15.164, arisu (ok), 15:00, 01/07/2014 [^] [^^] [^^^] [ответить] | +3 +/– | хуже в том, что без специнструментов с этими структурами уже ничего не сделаешь ... текст свёрнут, показать | |
|
|
|
|
|
|
9.167, Vkni (ok), 16:53, 14/07/2014 [^] [^^] [^^^] [ответить] | +/– | Нет Это именно дурная идея PowerShell стоит на базе NET а, система типов кото... текст свёрнут, показать | |
|
|
|
6.61, Аноним (-), 21:31, 28/06/2014 [^] [^^] [^^^] [ответить]
| +/– |
> Товарищ явно имел в виду что-то типа Windows Shell, чтоб шаг влево-вправо - расстрел.
Пусть он им попробует попользоваться. Интересно через сколько часов (или дней) он застрелится.
| |
6.74, Аноним (-), 01:42, 29/06/2014 [^] [^^] [^^^] [ответить] | +/– | товарищ имел явно в виду только то что написал, а именно речь шла о протоколе пе... большой текст свёрнут, показать | |
|
7.86, rob pike (?), 11:24, 29/06/2014 [^] [^^] [^^^] [ответить]
| +/– |
И получится у вас XML-RPC.
Это именно то чего не хватало командной строке, да.
| |
|
|
5.72, Аноним (-), 01:28, 29/06/2014 [^] [^^] [^^^] [ответить]
| +/– |
если говорить о linux и юниксах, где значительная часть операций идёт через шел, то строки именно монолитные и в execve попадают порезанными примерно по пробелам шеллом. Покрути своей невнимательнйо мордочкой вверх и узри что речь идёт о sh.
И эта порезка на части для execve() даже при правильном использовании без теггирования мало чем помогает. Как правильно выше заметили, вызывающая сторона ничего не знает о семантике аргументов (sh или ей аналогичный генератор строк), либо легко ошибиться с порядком и кол-вом - нет никаких способов защиты от таких распрастранённых ошибок.
| |
|
6.73, arisu (ok), 01:35, 29/06/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
> нет никаких способов защиты от таких распрастранённых ошибок.
это у говнокодеров нет. у остальных нормальных людей есть конвенции по интерпретации параметров и волшебный параметр «--».
тэгирование — это, конечно, стильно, модно и всё такое. а как тэгировать параметр «truiwghiuwhg»? это у меня кот пробежал? или это я файл такой создать хочу? или у меня уже есть такой файл, но я не его имел в виду, а вовсе даже выругался? угу, привет, очередные костыли для задания типов аргументов, экраны и прочая механика, которая уже и так есть. только на этот раз — с идиосткими усложнениями и тотальным ломанием интерфейсов, как любят хипстеры.
| |
|
|
8.77, arisu (ok), 02:13, 29/06/2014 [^] [^^] [^^^] [ответить] | –2 +/– | хм, а раньше ты таким идиотом не был или маскировался хорошо in either case f... текст свёрнут, показать | |
8.78, vle (ok), 03:44, 29/06/2014 [^] [^^] [^^^] [ответить] | +1 +/– | Если разработчик вменяемый, он использует getopt 3 или getopt_long 3 В обоих ... текст свёрнут, показать | |
|
|
6.83, Anonym2 (?), 10:52, 29/06/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
> если говорить о linux и юниксах, где значительная часть операций идёт через
> шел, то строки именно монолитные и в execve попадают порезанными примерно
> по пробелам шеллом. Покрути своей невнимательнйо мордочкой вверх и узри что
> речь идёт о sh.
> И эта порезка на части для execve() даже при правильном использовании без
> теггирования мало чем помогает. Как правильно выше заметили, вызывающая сторона ничего
> не знает о семантике аргументов (sh или ей аналогичный генератор строк),
> либо легко ошибиться с порядком и кол-вом - нет никаких способов
> защиты от таких распрастранённых ошибок.
Вызывающая сторона как раз должна знать. И эта сторона - не sh. Однако sh делает некоторое сложнопредсказуемое для некоторых вызывающих сторон преобразование...
| |
|
7.107, Алексей (??), 21:09, 29/06/2014 [^] [^^] [^^^] [ответить]
| +/– |
Так это вызывающие стороны мануал по шеллу не читали, поэтому трудно предсказывать
| |
|
6.90, Ordu (ok), 13:02, 29/06/2014 [^] [^^] [^^^] [ответить] | +/– | Простите, я полагаю порезку примерно по пробелам неизбежной Можно конечно зам... большой текст свёрнут, показать | |
|
7.91, rob pike (?), 13:35, 29/06/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
> кончится это неуёмным использованием xml'я во все щели
Сейчас вам объяснят что раз угловых скобочек для тэгов не предлагалось в исходном сообщении, то подобные аналогии неуместны. И в википедию отправят.
| |
|
8.98, Ordu (ok), 16:14, 29/06/2014 [^] [^^] [^^^] [ответить] | +/– | ммм 1 Как это связано между собой 2 Вы не думали о том, чтобы заменить для... большой текст свёрнут, показать | |
|
|
|
|
4.49, Crazy Alex (ok), 19:44, 28/06/2014 [^] [^^] [^^^] [ответить]
| +/– |
Проблема в том, чтобы получить с правильной архитектурой ту же простоту... А так - согласен, парсинг текста - хороший фоллбек, но в большинстве случаев что-то более структурированное было бы неплохо иметь.
| |
|
3.67, arisu (ok), 01:19, 29/06/2014 [^] [^^] [^^^] [ответить]
| +/– |
> И, кстате, в некоторых случаях (а у некоторых -- очень даже
> во многих) легко напороться на дофига файлов и упереться в ограничение
> длины командной строки.
тридцать два килобайта. демоны, ЧТО можно делать с командной строкой, чтобы насрать туда тридцать два килобайта? точнее, каким дауном надо быть, чтобы развести у себя на технике такую помойку, которая раскроется на тридцать два килобайта?
| |
|
4.109, Алексей (??), 21:38, 29/06/2014 [^] [^^] [^^^] [ответить]
| +/– |
ну во-первых не 32кб, реально можно столько использовать, на сколько памяти хватит. это вполне удобным бывает (чисто практически, а то что изначально механизм не предназначен был для больших объемов - так это эстетство уже).
| |
|
5.112, arisu (ok), 22:05, 29/06/2014 [^] [^^] [^^^] [ответить]
| +/– |
реально это зависит от многих факторов, включая то, какой shell используется. на современных GNU/Linux с bash 32 килобайта точно пролазит, поэтому я взял это как минимум.
| |
|
6.125, Алексей (??), 00:03, 30/06/2014 [^] [^^] [^^^] [ответить]
| +/– |
лимит - четверть максимального размера стека (RLIMIT_STACK), гарантируется не менее 128кб, по дефолту мне везде попадалось 2мб (макс. память, занятая аргументами execve, включая env). но это искуственное ограничение, в баше достаточно сделать ulimit -s unlimited, и пролезет столько, сколько памяти хватит. и сами данные не в стеке находятся (ограничение на аргументы ставится для того, чтобы обеспечить выделение памяти под стек).
| |
|
7.132, arisu (ok), 01:15, 30/06/2014 [^] [^^] [^^^] [ответить]
| +/– |
про shell тактично не заметил?
впрочем, я старпёр, предпочитаю ограничиваться 32kb.
| |
7.149, all_glory_to_the_hypnotoad (ok), 22:47, 30/06/2014 [^] [^^] [^^^] [ответить]
| –1 +/– |
> и сами данные не в стеке находятся
они находятся в стеке. Точнее вначале куска памяти, конец которого потом превращается в стек. С точки зрения дяра это всё стек.
| |
|
|
|
|
3.93, анон (?), 13:45, 29/06/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
это "broken by design" обсуждается с конца 80-х и есть антидоты.
плотно эти ребята занимаются безопасностью, если только открыли это для себя.
| |
3.147, Андрей (??), 19:56, 30/06/2014 [^] [^^] [^^^] [ответить]
| +/– |
> Правильное решение когда программа сама обрабатывает маски
Ну, т.е. как когда-то в DOS.
| |
|
4.153, arisu (ok), 00:41, 01/07/2014 [^] [^^] [^^^] [ответить]
| +2 +/– |
>> Правильное решение когда программа сама обрабатывает маски
> Ну, т.е. как когда-то в DOS.
и в винде до сих пор.
конечно, забудьте про расширеные глобы, забудьте про регулярные выражения, ведь теперь этим занимается не шелл, а прикладной софт. каждая софтина в меру своей забагованности и неленивости её автора.
дальше они предложат запретить подстановку переменных в командных строках, а то и это тоже небезопасно: пусть каждая софтина сама как-нибудь это делает. правда, у софтины нет доступа к внутренним переменным шелла, но они и для этого какой-нибудь костыль выдумают, ведь придумывать костыли вместо того, чтобы включить мозг и прочесть документацию — это так увлекательно!
| |
|
|
|
1.11, Аноним (-), 12:20, 28/06/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Например, если запустить "rm *" и в текущей директории окажется файл с именем "-rf"
Ололо...
| |
1.13, бедный буратино (ok), 12:26, 28/06/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
tar cf archive.tar *
это же тар-бомба, которая крайне редко где применяется (а там, где применяется, уже один раз поймал и попортил себе систему :).
обычно tar cf archive.tar archive, чтобы потом удобно распаковывать было.
| |
|
2.27, Xaionaro (ok), 14:49, 28/06/2014 [^] [^^] [^^^] [ответить]
| +3 +/– |
Никогда не указываю «*» в таких командах. Во-первых не цепляет файлы «.*», во-вторых известно, что это ненадёжно (и небезопасно). Всегда тупо указываю путь к директории (и если это CWD, то тогда тупо «.»).
| |
2.34, Аноним (-), 15:54, 28/06/2014 [^] [^^] [^^^] [ответить]
| –1 +/– |
> tar cf archive.tar *
Знаешь, то что он тебе разъе... систему - к лучшему. Научишься вызывать программы нормально, наконец.
| |
2.38, cmp (ok), 16:46, 28/06/2014 [^] [^^] [^^^] [ответить]
| +6 +/– |
угу, а еще ./* разворачивается в ./-cheto-tam, то есть высосали из пальца проблему rm -rf *, времен 10-ти летней давности; а еще я читал историю в которой один мальчик набрал по приколу rm -rf * в корневой директории, мама позвола его обедать, а когда он вернулся, то нажал интер, чтобы разбудить комп и все убил;
Этим исследователям безопасности делать похоже нехер, если уж кому-то открылась консоль рута, то этот кто-то обязан отдавать себе отчет в каждом действии, иначе есть винда которая или переспросит, или тупо не даст совершить ошибку. А то вырастили поколение кликоманов, которые долбят по кнопкам не думая и не глядя, а вотом вопят на форумах, что система гавно раз не работает, а ведь они всего лишь случайно файлик удалили.
| |
|
3.129, vi (?), 00:37, 30/06/2014 [^] [^^] [^^^] [ответить]
| +/– |
> он вернулся, то нажал интер, чтобы разбудить комп и все убил;
А почему не <CTRL>+<ALT>+<DEL>?
| |
|
|
1.14, Xasd (ok), 12:56, 28/06/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +12 +/– |
mv -t /blahblah -- *
в чём проблема-то?
всегда так делаю.. и всегда делал раньше...
стоило ради этого писать новость?
вы ещё написали бы новость о том типа "О БОЖЕ, ЕСЛИ НЕ ЗАЭКРАНИРОВАТь В PHP HTML-ВЫВОД ЗНАЧЕНИЯ ПЕРЕМЕННОЙ ТО ПОЛУЧИТСЯ XSS!!"
ну детский сад же!
# P.S.: а по теме говоря -- всё идёт из-за непонимания того кто именно обрабатывает этот <*> (его обрабатывает BASH, но кто-то может подумать что это аргумент для mv, по аналогии с Microsoft Windows cmd.exe) .
| |
|
2.36, pv47 (ok), 16:33, 28/06/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
> стоило ради этого писать новость?
сугубо имхо, но, думаю, новость неспроста. где-то в недрах redhat планируется защита от таких "уязвимостей". например, перевод всех linux-утилит в стиль а-ля msdos, когда все маски обрабатываются не шеллом перед передачей команде, а самой командой. или вообще, systemd сочли законченным а поттернига занять нечем, и теперь он будет писать замену шеллу, в стиле PowerShell, с защитой от экранирования и пр.
по сути, аналогия с php на 100% верна.
| |
|
|
|
5.144, rob pike (?), 08:54, 30/06/2014 [^] [^^] [^^^] [ответить]
| +/– |
Одна из главных проблем с Леннартом - в том что все постоянно недооценивают уровень его притязаний.
Он пойдет пилить только _meta_kerneld.
| |
|
6.145, arisu (ok), 09:09, 30/06/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Одна из главных проблем с Леннартом - в том что все постоянно
> недооценивают уровень его притязаний.
> Он пойдет пилить только _meta_kerneld.
чёрт, да хоть universed, лишь бы побыстрее и подальше…
| |
|
|
|
|
2.146, PnDx (ok), 16:52, 30/06/2014 [^] [^^] [^^^] [ответить]
| +2 +/– |
Дет.сад для того, кто успел перелопатить гору документации и протоптаться по граблям.
До сих пор ньюбов тыкают в маны, не обладающие, между прочим, выражаясь на математический манер, ни свойством полноты, ни свойством связности. Редких приличных ресурсов типа xgu явно недостаточно для формирования системного мышления.
ЧСХ, я тоже начинал с подобных ляпов. Причём, перелопачивание инета зачастую помогает формированию бажного мировоззрения. Чего стоит "#!/usr/bin/env python" в скриптах, потенциально вызываемых из крона (с вычищенным окружением).
| |
|
3.152, arisu (ok), 00:35, 01/07/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Чего стоит "#!/usr/bin/env python"
вот этого достаточно, в принципе.
| |
|
4.157, Crazy Alex (ok), 10:59, 01/07/2014 [^] [^^] [^^^] [ответить]
| –1 +/– |
Знаешь, если выбирать между шеллом и питоном - то, пожалуй, питон всё же получше. Хоть инструменты приличные есть.
| |
|
|
6.162, Crazy Alex (ok), 14:36, 01/07/2014 [^] [^^] [^^^] [ответить]
| –1 +/– |
Хм, логично. Хотя даже в питонине именно для "клея" между вызовами внешнего софта слишком много синтаксиса. Вот одно время был для перла модуль, который пытался все не найденные функции разрешать в вызовы system - примерно такое в питон бы надо. Но там думать и думать, чтобы сделать всё аккуратно.
| |
|
|
|
|
|
1.26, Психиатр (ok), 14:48, 28/06/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
> Специализирующаяся на компьютерной безопасности компания DefenseСode
так вот где работает КЭП.
| |
|
2.31, Аноним (-), 15:29, 28/06/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> ... и команда выполнена под пользователем root
> Чо, опять рута надо?!
Чтобы запустить бота под твоей учёткой рут нинужно.
| |
|
3.35, Аноним (-), 15:55, 28/06/2014 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Чтобы запустить бота под твоей учёткой рут нинужно.
А можно мне копию бота "pavlinux"? Он такой клевый :).
| |
3.47, Аноним (-), 18:29, 28/06/2014 [^] [^^] [^^^] [ответить]
| +/– |
Вы еще один ненужный кэп?
Антивирус попова легко отлавливает таких ботов. Так что это неэффективно, кэп. Я могу написать такой анти вирус, если у вас болит.
| |
|
|
1.39, Аноним (-), 17:14, 28/06/2014 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Проблема из за того как аргументы обрабатывает сам getopt.h и то как они подаются в программу особенно если смешивать с getopt_long. Так как иногда не обязательно передавать полное имя аргумента чтобы он был воспринять программой
| |
|
2.53, Аноним (-), 20:20, 28/06/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
> "...как аргументы обрабатывает сам getopt.h"
Красноглазик, getopt.h ничего не обрабатывает. Даже если смотреть на исходники :)
| |
|
1.40, Аноним (40), 17:18, 28/06/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
На самом деле такие атаки вполне применимы на серверах хостинговых компаний. Там очень много скриптов автоматизации. Например такая частая штука как перенос аккаунта с сервера на сервер. Использование chown/chmod/rsync при таких операциях обычное дело и легко можно со стороны юзера инициировать атаку.
Поэтому аргумент, что админу нужно смотреть и думать перед выполнением каждой команды, не состоятелен. Не зная о таких методах атак легко напороться.
| |
|
2.44, pavlinux (ok), 17:59, 28/06/2014 [^] [^^] [^^^] [ответить]
| +/– |
Пля, опять не работает. (Debian 6 LTS)
/etc/ssh/sshd_config: line 102: Bad configuration option: ProxyCommand
| |
2.60, Xaionaro (ok), 21:26, 28/06/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
> На самом деле такие атаки вполне применимы на серверах хостинговых компаний. Там
> очень много скриптов автоматизации. Например такая частая штука как перенос аккаунта
> с сервера на сервер. Использование chown/chmod/rsync при таких операциях обычное дело
> и легко можно со стороны юзера инициировать атаку.
> Поэтому аргумент, что админу нужно смотреть и думать перед выполнением каждой команды,
> не состоятелен. Не зная о таких методах атак легко напороться.
От админа-идиота не спасёт ничего. И не надо портить систему в глазах нормальных админов потому, что админу-идиоту что-то не нравится.
| |
2.68, arisu (ok), 01:22, 29/06/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
если там админы — дауны, то описаное в новости будет самой маленькой и самой неинтересной из вороха наличествующих там проблем.
| |
|
|
2.69, arisu (ok), 01:23, 29/06/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Как от этого защититься?
купить где-нибудь рабочий мозг. или убить себя, это лучше и надёжней.
| |
2.110, Алексей (??), 21:50, 29/06/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Как от этого защититься?
не использовать маски в шелл-скриптах (а там где нужно через командную строку передавать программе списки файлов - использовать для запуска например find ... -print0|xargs -r0 ..., чтобы ситуации с левыми символами в именах обрабатывались явным образом).
а при интерактивной работе перед запуском команды маски удобно заменять на конкретные списки (в разных шеллах по-разному, но функция стандартная).
| |
|
|
2.58, Аноним (-), 21:09, 28/06/2014 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Здрасьте, не рассматривалось. Они тоже вчера родившиеся убунтушники?
> Оригинал текста на http://docs.altlinux.org/archive/2.2/master/devel-html/ch03.html
> датируется примерно 2001 или 2002 годом, самое позднее.
Миш, через несколько лет жди новость: "британские учёные обнаружили, что если открыть окно с эмулятором терминала, то А-А-А-А-А СТРАШНО ТУТ ЖЕ МОЖНО ВСЁ СНЕСТИ СЕВ ПОПОЙ НА КЛАВИАТУРУ!!!".
Ну или что-то в этом духе.
В общем, береги свой моск, с годами он будет цениться всё больше отнюдь не из-за антикварности. :)
| |
|
3.161, Кирилл (??), 14:32, 01/07/2014 [^] [^^] [^^^] [ответить]
| +/– |
> Миш, через несколько лет жди новость: "британские учёные обнаружили, что если открыть
> окно с эмулятором терминала, то А-А-А-А-А СТРАШНО ТУТ ЖЕ МОЖНО ВСЁ
> СНЕСТИ СЕВ ПОПОЙ НА КЛАВИАТУРУ!!!".
Попой то ладно. Но работа со строкой параметров в интерпретаторах, действительно, безальтернативно опасна: нет выбора между сложным, но безопасным, или простым, но опасным. Эту особенность никак ни обойти, ни нивелировать невозможно. Увы.
| |
|
2.79, RNZ (ok), 05:42, 29/06/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
Да. Эти чудеги могли-бы "Advanced Bash-Scripting Guide" почитать, разделы 3 и 9.1.
| |
|
3.160, Кирилл (??), 14:28, 01/07/2014 [^] [^^] [^^^] [ответить]
| +/– |
А вот представьте на секунду, что не только вы знаете об этом гиде. Более того, представьте, что баш не единственный интерпретатор на свете.
| |
|
|
1.64, Аноним (-), 00:39, 29/06/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
О, УЖАС.
1. man "--"
2. Реальные перцы не используют "*".
/thread
// b.
| |
1.66, arisu (ok), 01:16, 29/06/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
молодцы, чо. они, наконец, начали читать unix haters handbook, видимо. там их ещё много чудных открытий поджидает, ждём ещё пачку Ломающих Новостей.
| |
1.159, Кирилл (??), 14:17, 01/07/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Сей факт известен всем, кто хоть немного писал скрипты для bash-а. Проблема в том, что редко в каком языке вообще работа с вводом/вывод лишена такой же уязвимости.
| |
|