Perl write-only vs. JS write-only
Perl, говорите? Хехе. Этот небольшой JavaScript выполняет alert(1):
(É=[Å=[],µ=!Å+Å][µ[È=-~-~++Å]+({}+Å) [Ç=!!Å+µ,ª=Ç[Å]+Ç[+!Å],Å]+ª])() [µ[Å]+µ[Å+Å]+Ç[È]+ª](Å)
Можете попробовать в браузере.
Автор — Йосуке Хасегава Э. Вела.
Я перестал _пробовать_ такое со времён perl-скрипта, выполняющего rm -rf / :)
А как это перевести в нормальный вид? o_O
Комментарий для aktuba.ya.ru:
Там же сказано, алерт 1:)
А я запустить решился. Не даром же порнорежим в браузере придумали:)
Комментарий для aktuba.ya.ru:
Элементарно, мю = «false», а е = 3, дальше понятно.
Комментарий для aktuba.ya.ru:
А это и есть нормальный вид :) Просто для имён переменных используются Unicode-имена. Например:
É=[Å=[],µ=!Å+Å]
a = [b = [], c = !b + b]
ну и так далее.
eval((![]+{})[a=1]+(![]+{})[++a]+(![]+{})[a<<1]+(!!a+{})[((a)>>1)]+(!!a+{})[a>>1-a]+«(1)»);
http://dpaste.org/AUtD/
Есть и такое: http://discogscounter.getfreehosting.co.uk/js-noalnum.php
([][(![]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]+(!![]+[])[+[]]][([][(![]+[])[+[]]+([![]]+[])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]()[(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]+(!![]+[])[+[]]])(+!+[])
Комментарий для danilissimus.ya.ru:
eval — это уже не интересно :)
Комментарий для dionys.myopenid.com:
На отличненько :)
«попробовать в браузере»
не, в IE эта хрень не сработает. На хабре тоже никто не подметил. Не пользуются, видимо.
не жрёт он такое ’false’[1] -> ’a’
А alert они как вызвали?
Комментарий для fulc.ru:
window[’alert’](1)
window получили по ссылке, а ’alert’ склеили как строку
на хабре разобрано, если что
Комментарий для id.rambler.ru/users/boltai-shaltai/:
А на Хабре где про это было.
Всегда ссылайтесь первоисточник, а не на сплетни. Первоисточник здесь:
http://sla.ckers.org/forum/read.php?24%2C28687
Таким образом, автор указанной формы кода — Э.Вела, Й.Хасегава — автор первоначальной идеи.
Комментарий для olo-olo-lo.ya.ru:
Надо же, спасибо! «Сплетни» были почерпнуты из какой-то буржуйской презентации.
Комментарий для Евгения Степанищева:
http://habrahabr.ru/blogs/crazydev/94797/
отсюда, видно, и потырили
Комментарий для id.rambler.ru/users/boltai-shaltai/:
«Потырили» мы из какой-то забугорной хакерской презентации про XSS. Там это упоминается в свете обхода XSS-фильтров.
Комментарий для id.rambler.ru/users/boltai-shaltai/:
Или имеется ввиду наоборот? Вероятно с меня и потырили, да. Заголовки совпадают один-в-один.
Комментарий для Евгения Степанищева:
Да-да. В чем понт приводить промежуточную версию кода, Я не понимаю. Ну, да ладно.
В этом разделе все смогут почерпнуть для себя много новой информации о том, кто является автором чего.
http://sla.ckers.org/forum/list.php?24
Также всем полезно будет открыть для себя этот факт, ибо Я видел где-то дезинформацию по этому поводу.
http://sla.ckers.org/forum/read.php?2%2C15812%2C26331#msg-26331
======
Ты потырил отсюда http://p42.us/favxss/fav.ppt (2009 г.) . Там не вполне понятная формулировка для людей вне темы.
======
На мой взгляд, зря перечеркнул Хасегаву. Как-то некорректно выглядит, идея тоже дорогого стоит.
Комментарий для olo-olo-lo.ya.ru:
Да, так и есть.
Комментарий для olo-olo-lo.ya.ru:
См. http://bolknote.ru/all/2373
Комментарий для Евгения Степанищева:
Ага, в бложике Aleko неправильные копирайты (и никто не в курсе).
И в догонку: http://sla.ckers.org/forum/read.php?24%2C31765%2C33730#msg-33730
Обращаю внимание, что значимость имеют только те способы, результаты которых нельзя изменить предшествующим кодом.
Комментарий для olo-olo-lo.ya.ru:
А какой копирайт правильный? И почему Aleko не мог найти этот способ самостоятельно?
Комментарий для Евгения Степанищева:
Ладно, постараюсь попроще.
Надеюсь, теперь все понятно.
Комментарий для olo-olo-lo.ya.ru:
«Попроще». Можно было с самого начала это написать :) Это было бы не попроще, а по существу. Кстати, почему «Я» большое?
Комментарий для dionys.myopenid.com:
подскажите, если знаете, кто автор js-noalnum.php
у него там ошибка в обработках строк с точками
Комментарий для ctapbiu.mabp.myopenid.com:
Никаких идей о чём вы спрашиваете у меня нет.