Perl write-only vs. JS write-only

Perl, говорите? Хехе. Этот небольшой JavaScript выполняет alert(1):

(É=[Å=[],µ=!Å+Å][µ[È=-~-~++Å]+({}+Å) [Ç=!!Å+µ,ª=Ç[Å]+Ç[+!Å],Å]+ª])() [µ[Å]+µ[Å+Å]+Ç[È]+ª](Å)

Можете попробовать в браузере.

Автор — Йосуке Хасегава Э. Вела.

Комментарии 27

wiktar (wiktar.com) № 1
Я перестал _пробовать_ такое со времён perl-скрипта, выполняющего rm -rf / :)
aktuba (aktuba.ya.ru) № 2
А как это перевести в нормальный вид? o_O
Рамиль_К (ramil1017.ya.ru) № 3
Там же сказано, алерт 1:)

А я запустить решился. Не даром же порнорежим в браузере придумали:)
Евгений Степанищев (bolknote.ru) автор № 5
А как это перевести в нормальный вид? o_O

А это и есть нормальный вид :) Просто для имён переменных используются Unicode-имена. Например:

É=[Å=[],µ=!Å+Å]

a = [b = [], c = !b + b]

ну и так далее.

Denis Ibaev (dionys.myopenid.com) № 7
Есть и такое: http://discogscounter.getfreehosting.co.uk … oalnum.php

([][(![]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]+(!![]+[])[+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]()[(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]+(!![]+[])[+[]]])(+!+[])
id.rambler.ru/users/boltai-shaltai/ № 10
«попробовать в браузере»
не, в IE эта хрень не сработает. На хабре тоже никто не подметил. Не пользуются, видимо.

не жрёт он такое 'false'[1] -> 'a'
Евгений Степанищев (bolknote.ru) автор № 13

Комментарий для id.rambler.ru/users/boltai-shaltai/:

На хабре тоже никто не подметил

А на Хабре где про это было.

olo-olo-lo (olo-olo-lo.ya.ru) № 14
Всегда ссылайтесь первоисточник, а не на сплетни. Первоисточник здесь:
http://sla.ckers.org/forum/read.php?24%2C28687
Таким образом, автор указанной формы кода — Э.Вела, Й.Хасегава — автор первоначальной идеи.
Евгений Степанищев (bolknote.ru) автор № 15
Надо же, спасибо! «Сплетни» были почерпнуты из какой-то буржуйской презентации.
Евгений Степанищев (bolknote.ru) автор № 17
Комментарий для id.rambler.ru/users/boltai-shaltai/:

«Потырили» мы из какой-то забугорной хакерской презентации про XSS. Там это упоминается в свете обхода XSS-фильтров.
Евгений Степанищев (bolknote.ru) автор № 18

Комментарий для id.rambler.ru/users/boltai-shaltai/:

отсюда, видно, и потырили

Или имеется ввиду наоборот? Вероятно с меня и потырили, да. Заголовки совпадают один-в-один.

olo-olo-lo (olo-olo-lo.ya.ru) № 19
Комментарий для Евгения Степанищева:

Да-да. В чем понт приводить промежуточную версию кода, Я не понимаю. Ну, да ладно.
В этом разделе все смогут почерпнуть для себя много новой информации о том, кто является автором чего.
http://sla.ckers.org/forum/list.php?24
Также всем полезно будет открыть для себя этот факт, ибо Я видел где-то дезинформацию по этому поводу.
http://sla.ckers.org/forum/read.php?2%2C15 … #msg-26331
======
Ты потырил отсюда http://p42.us/favxss/fav.ppt (2009 г.) . Там не вполне понятная формулировка для людей вне темы.
======
На мой взгляд, зря перечеркнул Хасегаву. Как-то некорректно выглядит, идея тоже дорогого стоит.
olo-olo-lo (olo-olo-lo.ya.ru) № 22
Комментарий для Евгения Степанищева:

Ага, в бложике Aleko неправильные копирайты (и никто не в курсе).
И в догонку: http://sla.ckers.org/forum/read.php?24%2C3 … #msg-33730
Обращаю внимание, что значимость имеют только те способы, результаты которых нельзя изменить предшествующим кодом.
Евгений Степанищев (bolknote.ru) автор № 23
Комментарий для olo-olo-lo.ya.ru:

А какой копирайт правильный? И почему Aleko не мог найти этот способ самостоятельно?
olo-olo-lo (olo-olo-lo.ya.ru) № 24
Комментарий для Евгения Степанищева:

Ладно, постараюсь попроще.
1. Если пройти по второй ссылке из моего второго поста на этой станице, можно увидеть пост oxotnick'a, в котором приведен код, который Aleko приписал Хейсу (чего он сам, к его чести, никогда не делал). В первый раз, когда Я, читая твой блог, наткнулся на блог Aleko, меня эта досадная неточность возмутила до глубины души. Но Я не стал тогда что-то предпринимать в надежде на то, что найдется ещё хотя бы один человек из наших, который откроет глаза Aleko. Как видно сейчас из комментариев к тому посту, не нашелся.
2. Aleko нашел свой способ самостоятельно. Как ты понял из п.1, Я не об этом. Весьма позитивным моментом также является комментарий к его посту о том, что найденный им способ большой практической значимости не имеет, поскольку может быть «убит» предшествующим кодом (см. комментарии 17-19).
Надеюсь, теперь все понятно.
Евгений Степанищев (bolknote.ru) автор № 25
Комментарий для olo-olo-lo.ya.ru:

«Попроще». Можно было с самого начала это написать :) Это было бы не попроще, а по существу. Кстати, почему «Я» большое?