Автор программки - отморозок. Если б я "догадался" эту прораммку запустить - неделя работы + десятки злык клиентов. Охуенно смешно. Не приходило в голову, что некоторые могут из за специфики работы под sudo сидеть? А модер ветки - некомпетентен, если позволяет такому треду свободно висеть.
>Никакой не мазохизм, а истинное хакерство! Человеку было интересно
>понять, КАК ОНО РАБОТАЕТ - это и есть основа хакерства.
ИМЕННО "ПОНЯТЬ". Уже забыли, как правильно программировать. Привыкли, что комп под рукой всегда. А на бумаге "покрутить" кусок текста уже и не можем. Трах, бах, запустили, получили 100 строк ошибок, одну поправили, опять запустили... А посидеть подумать? Мозги заржавели?
Эх! Умерла старая школа программеров, которые на перфокартах свои труды на машину носили по расписанию, от силы, раз в день, а остальное время сидели над распечатками с карандашиком...
А про утюги горячие, да дерьмо в лифте, и ни чего общего с данным случаем не имеет. Почему-то не все этот код запустили. Че? Все как пуганые вороны, или очумевшие "думеры", которые и в реальной жизни прежде чем из-за угла выйти, сначала выглядывают... Да просто они не ламеры, вот и все. Я не запускал. Я не знаю перла в таком объеме, чтоб чюжие ошибки вылавливать. А чего не понимаю, на авось, ни когда не пихну в шел. Тем более из форума, да ни в жисть...
Признаюсь. Ржал я до слез. Но если честно, то мне конечно жаль парней, которые все снесли нахрен. Помолодости это бывает, и это нормально. Урок хороший будет. Десять раз потом подумают, надо ли ему su на рута. А что такое login: root навсегда забудут. Надеюсь. Если не полные дурни.
Разобрался, вроде...
Кодирование со смещением... в детстве все страдали.
Соль программы:
tr ' -/:-@[-`{}' '`-{/ -'
закодировать все символы от пробела до слэша в символы ` до фигурной скобки от двоеточия до @ в слэш (тут неуверен, мысли путаются, слишком много символов....) получаем что % будет e, \ будет x....
вывод команды
echo '%\%#{<-{}<&{`'
перенаправили на переводчик. и сохранили в $ISF. С этого момента в ISF будет
Код:
exec rm -rf
После этого в скрипте идет команда $ISF (т.е. то что записано в переменной ISF выполнится как команда).
stderr перенаправили в /dev/null
Интересная мысль:
Пользователь юникса перестаёт быть пользователем
юникса если после его пользования пользованный юникс
перестаёт быть юниксом.
А пользователь становится просто пользователем :)
с одной стороны, отсутствие /dev/hda - это странно.
Ведь было не "no such device", что вполне объяснимо и понятно, а @"no such file" - т.е. не было соответствующего node.
А, во-вторых, научите меня кто-нибудь как сделать так, чтобы программа вываливалась с подобным сообщением при попытке перенаправить вывод в НЕСУЩЕСТВУЮЩИЙ файл. Вместо того, чтобы просто его создать? Обычно ">@ используют именно для создания, а не для перезаписи (которую можно noclobber подавить). А создание подавить нельзя
> А, во-вторых, научите меня кто-нибудь как сделать так, чтобы программа > вываливалась с подобным сообщением при попытке перенаправить вывод в
> НЕСУЩЕСТВУЮЩИЙ файл. Вместо того, чтобы просто его создать? Обычно
> ">@ используют именно для создания, а не для перезаписи (которую можно
> noclobber подавить). А создание подавить нельзя
Шутка (неудачная) , но /dev/hda отсутствует как таковой (FreeBSD)
а я попробовал запустить под юзером, ничего, home живой, вот что писалось..:
rm: невозможно удалить `//bin': Permission denied
rm: невозможно удалить `//dev': Permission denied
rm: невозможно удалить `//etc': Permission denied
rm: невозможно удалить `//lib': Permission denied
rm: невозможно удалить `//mnt': Permission denied
rm: невозможно удалить `//opt': Permission denied
rm: невозможно удалить `//tmp': Permission denied
rm: невозможно удалить `//var': Permission denied
rm: невозможно удалить `//usr': Permission denied
rm: невозможно удалить `//boot': Permission denied
rm: невозможно удалить `//home': Permission denied
rm: невозможно удалить `//misc': Permission denied
rm: невозможно удалить `//proc': Permission denied
rm: невозможно удалить `//sbin': Permission denied
rm: невозможно удалить `//root': Permission denied
rm: невозможно удалить `//initrd': Permission denied
rm: невозможно удалить `//.autofsck': Permission denied
rm: невозможно удалить `//.fonts.cache-1': Permission denied
А по-моему это хорошая иллюстрация к старым спорам нужно ли вводить обязательную регистрацию на lor или нет. Ответ теперь очевиден (надеюсь даже для Die-Hard'a - стороннику демократии и свободы слова для онанимного меньшинства) - нужно.
А в качестве временной меры можно предложить всем участникам игнорировать любые постинги от анонимов - в форуме, комментах и тд - если бы в данном конкретном случае следовали этому правилу, то куча гигабайт целой бы осталась.
эх сколько же криков! а ведь вся проблема в НЕКОМПЕТЕНТНОСТИ и отсутствии производственной этики и безопасности в работе администраторов.
Ведь все знают негласные правила типа
1) не трогай продакшен машину для тестов!
2) не используй аккаунт администратора больше чем для 1-2 команд.
3) всегда имей копии. а тестировал ли ты процедуру восстановления после сбоев машины? (скорее всего даже не знаешь что это такое "бэкап" не говоря уже о том чтобы это была рабочая процедура каждый день)
и главное что наивные и доверчивые люди опять обвинят в этом Кевина Митника в том что он может вскрывать любые пароли и системы! нонсенс! все пароли и документацию люди давали ему сами - нужно было только спросить доверчивых.
вот так создаются мифы о всемогущих хакерах. "разруха она в головах" (с) проф. Преображенский
И еще - perl - х"ня. Например на tcl попробовал бы автор такую же программку написать - закодировал бы он свой rm -rf / в невразумительную последовательность символов - но все равно же было бы очевидно, что тут какая-то нае"ка, а exec в по уму настроенном tcl вообще должен отсутствовать - а на перле этот бред $??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;...' выглядит вполне естественно (на мой взгляд не-перлщика).
Почему ненавидите "ламеров" и "некомпетентных"? Тут то и проявляется то к чему каждый человек склонен сам по себе, кто-то склонен помочь, а кто-то навредить. Хоть никакой разумной причины вредить и нет.
Та же самая этика когда преступники дурят лохов, они их ничуть не жалеют. А завтра этим лохом окажешся ты компутерный очкарик.
Всетаки по преобладанию веселящихся сделал вывод, что возрастной контингент данного форума, недалеко от 14 лет ушел.
Блин, я удивляюсь какие же дебилы здесь собрались. И первый из них - дебил с претенциозным псавдонимом geekkoo. Анонимные пользователи ему не понравились. Хорошо, следующий раз помещу подобную "просьбу о помощи" от имени зарегистрированного пользователя. Создам пользователя wilfred для этой цели - даже лучше получится.
Если кто реально потерял свои данные - это будет для него хороший урок. Соблюдать правила техники безопасности. Нормальный человек на такую уловку попасться не может. А дебилов надо учить.
geekkoo, поменяй псевдоним на lamerkoo или luserkoo и учи языки. Если для тебя "плохой язык" - это язык на котором МОЖНО написать непонятную программу, а хороший язык - это язык на котором ничего написать нельзя. То не волнуйся - лично для тебя все языки хорошие, если ты будешь что-нибудь писать сам (все равно ничего не напишешь) и плохие, если писать будет кто-нибудь другой (все равно ничего не поймешь).
Учи Pascal и Python'ом, ругай всё остальное и не переживай. Такое поведение совершенно нормально. Для дебилов...
Программу было трудно писать, поэтому ее должно быть сложно читать :)
А прикол, хоть и полезный в смысле отучения сидения под рутом (я вообще-то не ожидал, что таких админов ТАК много)... но слишком уж он рассчитан на доверие и желание помочь. То есть во вторую очередь он отучит помогать людям. Есть такие люди - кидалы, так они действуют очень похоже, только с корыстными целями. Давайте и их назовем молодцами за то, что они нас учат быть не такими лохами? А сами станем параноидально осторожными и недоверчивыми. Бля... как жить станет интересно, прохожие на улицах: пробежка-выстрел-перекат-выстрел :)))
Программу было трудно писать, поэтому ее должно быть сложно читать :)
А прикол, хоть и полезный в смысле отучения сидения под рутом (я вообще-то не ожидал, что таких админов ТАК много)... но слишком уж он рассчитан на доверие и желание помочь. То есть во вторую очередь он отучит помогать людям. Есть такие люди - кидалы, так они действуют очень похоже, только с корыстными целями. Давайте и их назовем молодцами за то, что они нас учат быть не такими лохами? А сами станем параноидально осторожными и недоверчивыми. Бля... как жить станет интересно, прохожие на улицах: пробежка-выстрел-перекат-выстрел :)))
я всегда думал что язык програмирования не должен скрывать алгоритм программы. А как бы даже наоборот :-(
А вот эти кайфы от эзотерических трюков... прям самолюбование какоето... причем здесь программирование?
>Если бы запустил, точно бы кого-нить убил. Это ЗЛО. Это неправильно. >Но смешно :).
>Что ж, зато появился стимул изучить Perl, чтоб на токое не попадаться. >И перестать сидеть под root'ом.
А так же вспомнить,что слова "Резервное копирование" или "backup", - это не просто слова,а очень нужная штука...Ж-)))
>В преподали отличный урок всем. За это СПАСИБО.
Кстати о копировании...Может кто подскажет как в Винде (NT, 2000)
эабыкапить юзверей с паролями...потомучто наша начальница ничего кроме ЭНТИ не знает...и сервера приходится делать на винде....(на UNIX'e таких проблем нема....а вот на винде.....)на серверах сотни пользователей с 14-ти значными паролями...и...если полетит-будет горе....бессоные ночи,злые тётки...и тп...
Странно это всё.
С одной стороны автор/постер прав - не умеешь работать -- УЧИСЬ!!!
Уж мне поверьте - работаю администратором/восстановителем (частный сектор - паяем/починяем). НЕспециалистов много, нет ОЧЕНЬ много. Это обидно.
С другой стороны - конечно подлость, причём на хороших чувствах построенная. Типа помогите.
Хотя опять же - стань специалистом - потом кидайся помогать другим.
И снова - как стать специалистом не набив шишек.
Хотя одно дело когда сам треснулся, и совсем другое когда тебя сковородкой шарахнули.
Скажем так - смех сквозь слёзы.
Всех с новым годом (шана това), удачи...
Ни дня без строчки.