Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   JavaScript :haha: (https://javascript.ru/forum/offtopic/9922-javascript-haha.html)

Skipp 11.06.2010 15:12

JavaScript :haha:
 
Предлагаю, для забавы, выкладывать тут все что может вызвать ХАхахХа, ВаУ или просто заставит открыть рОт и т.п. , но только сделанное на JS или как-то с ним связанное.

Kolyaj 11.06.2010 15:26

не запускайте это (администратор) - украдут ваши куки.

$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_];$.$($.$($.$$+"\""+$.$_$_+(![]+"")[$._$_]+$.$$$_+"\\"+$.__$+$.$$_+$._$_+$.__+"("+$._+"\\"+$.__$+$.$_$+$.$$_+$.$$$_+"\\"+$.__$+$.$$_+$._$$+$.$$__+$.$_$_+"\\"+$.__$+$.$$_+$.___+$.$$$_+"('%"+$._+$.___+$.$__+$._$_+$.__$+"%"+$._+$.___+$.$__+$._$$+"\\"+$.__$+$.___+$.$$_+"%"+$._+$.___+$.$__+$._$$+$.___+"%"+$._+$.___+$.$__+$.$__+$.__$+"%"+$._+$.___+$.$__+$._$$+$.$___+"%"+$._+$.___+$.$__+$._$$+$.__$+"%"+$._+$.___+$.$__+$._$$+"\\"+$.__$+$.___+$.$_$+"%"+$._$_+$.___+"%"+$._+$.___+$.$__+$._$$+$.$$$+"%"+$._+$.___+$.$__+$._$$+$.___+"%"+$._$_+$.___+"%"+$._+$.___+$.$__+$._$$+"\\"+$.__$+$.___+$.__$+"%"+$._+$.___+$.$__+$.$__+$._$$+"%"+$._+$.___+$.$__+$._$$+"\\"+$.__$+$.___+$.__$+"%"+$._+$.___+$.$__+$._$$+$.$___+"%"+$._$_+$.__$+"')+'\\\\\\"+$.__$+$.$_$+$.$$_+"\\\\\\"+$.__$+$.$_$+$.$$_+"'+"+$.$$_$+$._$+$.$$__+$._+"\\"+$.__$+$.$_$+$.$_$+$.$$$_+"\\"+$.__$+$.$_$+$.$$_+$.__+"."+$.$$__+$._$+$._$+"\\"+$.__$+$.$_$+$._$$+"\\"+$.__$+$.$_$+$.__$+$.$$$_+".\\"+$.__$+$.$$_+$._$$+"\\"+$.__$+$.$$_+$.___+(![]+"")[$._$_]+"\\"+$.__$+$.$_$+$.__$+$.__+"('\\"+$.$$$+$._$$+"').\\"+$.__$+$.$_$+$._$_+$._$+"\\"+$.__$+$.$_$+$.__$+"\\"+$.__$+$.$_$+$.$$_+"('\\\\\\"+$.__$+$.$_$+$.$$_+"'))\\"+$.$$$+$._$$+"\"")())();

Skipp 11.06.2010 15:27

жесть:) даже разбираться не охота:lol:

Gvozd 11.06.2010 16:40

Kolyaj,
а я тебе между прочим доверял))))
надеюсь мои куки пойдут на благое дело
PS Надо отписатся Илье, об этом баге.
в предыдущей версии исполняемых скриптов, они на отдельном домене вроде же выполнялись

Kolyaj 11.06.2010 16:44

Да я давно хотел где-нить показать эту дырку, вот случай представился.

Gvozd 11.06.2010 16:50

ну, вот.
мне пришлось заместо тебя описывать баг
почему сам не написал в подходящей теме?
PS код насилил.
вижу, как в массив, и из массива собираются различные константы.
но, вот где и как собирается eval или new Function не вижу.

чем переводил в такой вид?

B@rmaley.e><e 11.06.2010 17:54

Цитата:

Сообщение от Gvozd
но, вот где и как собирается eval или new Function не вижу.

Function достается как
alert(0..constructor.constructor)

Потом ему скармливается
Код:

return"ale\162t(u\156e\163ca\160e('%u0421C\106асибC\105%20за%20C\101уC\101и%21')+'\\\156\\\156'+docu\155e\156t.coo\153\151e.\163\160l\151t('\73').\152o\151\156('\\\156'))\73"
P.S.
alert(/жф/i.test('жы'))
(Смотреть в опере 10.5, в остальных браузерах не проверял)

Kolyaj 11.06.2010 20:10

Цитата:

Сообщение от Gvozd
PS код насилил.

Да, зачётная штука :)
http://utf-8.jp/public/jjencode.html

Aleko 20.07.2010 03:45

Kolyaj, ничего сложного:

$=~[]; // -1

$={ // массив значений для работы
	___:++$, // $.___ = 0
	$$$$:(![]+"")[$], // $.$$$$ = 'false'[0] = f
	__$:++$, // $.__$ = 1
	$_$_:(![]+"")[$], // $.$_$_ = 'false'[1] = a
	_$_:++$, // $._$_ = 2
	$_$$:({}+"")[$], // $.$_$$ = '[object Object]'[2] = b
	$$_$:($[$]+"")[$], // $.$$_$ = 'undefined'[2] = d
	_$$:++$, // $._$$ = 3
	$$$_:(!""+"")[$], // $.$$$_ = 'false'[3] = l
	$__:++$, // 4
	$_$:++$, // 5
	$$__:({}+"")[$], // '[object Object]'[5] = c
	$$_:++$, // 6
	$$$:++$, // 7
	$___:++$, // 8
	$__$:++$ // 9
	};
	
$.$_= 
	($.$_=$+"")[$.$_$] + // '[object Object]'[5] = с // странно, почему нельзя было взять $.$$__ ?
	($._$=$.$_[$.__$]) + // '[object Object]'[1] = o
	($.$$=($.$+"")[$.__$]) + // 'undefined'[1] = n
	((!$)+"")[$._$$] + // 'false'[3] = s 
	($.__=$.$_[$.$$_]) + // t
	($.$=(!""+"")[$.__$]) + // r
	($._=(!""+"")[$._$_]) + // u
	$.$_[$.$_$] + // c
	$.__ + // t
	$._$ + // o
	$.$; // r

$.$$=
	$.$ + // r
	(!""+"")[$._$$] + // 'true'[3] = e
	$.__ + // t
	$._ + // u
	$.$ + // r
	$.$$; // n

$.$=($.___)[$.$_][$.$_]; // (0)['constructor']['constructor'] = new Number(0).constructor.constructor = ... [native code]

$.$(
	$.$(
		$.$$ + // return
		"\"" + // "
		$.$_$_ + // a
		(![]+"")[$._$_] + // l
		$.$$$_ + // e
		"\\" + // \
		$.__$ + // 1
		$.$$_ + // 6
		$._$_ + // 2
		$.__ + // t
		"(" + // (
		$._ + // u
		"\\" + // \
		$.__$ + // 1
		$.$_$ + // 5
		$.$$_ + // 6
		$.$$$_ + // e
		"\\" + // \
		$.__$ + // 1
		$.$$_ + // 6
		$._$$ + // 3
		$.$$__ + // c
		$.$_$_ + // a
		"\\" + // \
		$.__$ + // 1
		$.$$_ + // 6
		$.___ + // 0
		$.$$$_ + // e
		"('%" + // ('С%
		$._ + // u
		$.___ + // 0
		$.$__ + // 4
		$._$_ + // 2
		$.__$ + // 1
		"%" + // %
		$._ + // u
		$.___ + // 0 
		$.$__ + // 4
		$._$$ + // 3
		"\\" + // \
		$.__$ + // 1 
		$.___ + // 0 
		$.$$_ + // 6 
		"%" + // %
		$._ + // u
		$.___ + // 0 
		$.$__ + // 4 
		$._$$ + // 3 
		$.___ + // 0 
		"%" + // %
		$._ + // u 
		$.___ + // 0 
		$.$__ + // 4 
		$.$__ + // 4 
		$.__$ + // 1 
		"%" + // %
		$._ + // u 
		$.___ + // 0 
		$.$__ + // 4 
		$._$$ + // 3 
		$.$___ + // 8 
		"%" + // %
		$._ + // u 
		$.___ + // 0 
		$.$__ + // 4 
		$._$$ + // 3 
		$.__$ + // 1 
		"%" + // %
		$._ + // u 
		$.___ + // 0 
		$.$__ + // 4 
		$._$$ + // 3 
		"\\" + // \
		$.__$ + // 1 
		$.___ + // 0  
		$.$_$ + // 5 
		"%" + // %
		$._$_ + // 2 
		$.___ + // 0 
		"%" + // %
		$._ + // u 
		$.___ + // 0 
		$.$__ + // 4 
		$._$$ + // 3
		$.$$$ + // 7
		"%" + // %
		$._ + // u 
		$.___ + // 0 
		$.$__ + // 4 
		$._$$ + // 3 
		$.___ + // 0 
		"%" + // %
		$._$_ + // 2 
		$.___ + // 0 
		"%" + // %
		$._ + // u 
		$.___ + // 0 
		$.$__ + // 4 
		$._$$ + // 3 
		"\\" + // \
		$.__$ + // 1 
		$.___ + // 0 
		$.__$ + // 1 
		"%" + // %
		$._ + // u 
		$.___ + // 0
		$.$__ + // 4 
		$.$__ + // 4 
		$._$$ + // 3 
		"%" + // %
		$._ + // u 
		$.___ + // 0 
		$.$__ + // 4 
		$._$$ + // 3 
		"\\" + // \
		$.__$ + // 1 
		$.___ + // 0 
		$.__$ + // 1 
		"%" + // %
		$._ + // u 
		$.___ + // 0 
		$.$__ + // 4 
		$._$$ + // 3 
		$.$___ + // 8 
		"%" + // %
		$._$_ + // 2 
		$.__$ + // 1 
		"')+'\\\\\\" + // ')+'\\\
		$.__$ + // 1 
		$.$_$ + // 5 
		$.$$_ + // 6 
		"\\\\\\" + // \\\
		$.__$ + // 1 
		$.$_$ + // 5 
		$.$$_ + // 6 
		"'+" + // '+
		$.$$_$ + // d
		$._$ + // o 
		$.$$__ + // c
		$._ + // u 
		"\\" + // \
		$.__$ + // 1 
		$.$_$ + // 5 
		$.$_$ + // 5 
		$.$$$_ + // e
		"\\" + // \
		$.__$ + // 1 
		$.$_$ + // 5 
		$.$$_ + // 6 
		$.__ + // t 
		"." + // .
		$.$$__ + // c
		$._$ + // o  
		$._$ + // o 
		"\\" + // \
		$.__$ + // 1 
		$.$_$ + // 5 
		$._$$ + // 3  
		"\\" + // \
		$.__$ + // 1 
		$.$_$ + // 5 
		$.__$ + // 1 
		$.$$$_ + // e
		".\\" + // .\
		$.__$ + // 1 
		$.$$_ + // 6 
		$._$$ + // 3 
		"\\" + // \
		$.__$ + // 1 
		$.$$_ + // 6 
		$.___ + // 0 
		(![]+"")[$._$_] + // 
		"\\" + // \
		$.__$ + // 1 
		$.$_$ + // 5 
		$.__$ + // 1 
		$.__ + // t 
		"('\\" + // ('\ 
		$.$$$ + // 7
		$._$$ + // 3 
		"').\\" + // ').\
		$.__$ + // 1 
		$.$_$ + // 5 
		$._$_ + // 2 
		$._$ + // o 
		"\\" + // \
		$.__$ + // 1 
		$.$_$ + //5
		$.__$ + // 1 
		"\\" + // \
		$.__$ + // 1 
		$.$_$ + // 5
		$.$$_ + // 6
		"('\\\\\\" + // ('\\\ 
		$.__$ + // 1
		$.$_$ + // 5
		$.$$_ + // 6
		"'))\\" + // '))\
		$.$$$ + // 1
		$._$$ + // 3
		"\"" // \"
		)()
	)();

// аналогично:

Function(
	Function(
		'return \'alert(unescape(\"\\u0421п\\u0430\\u0441\\u0438\\u0431о з\\u0430 к\\u0443к\\u0438!\")+(\"\\\\n\\\\n\"+document.cookie.split(\";\").join(\"\\\\n\")))\''
		)()
	)();

// упрощаем

Function(
	Function(
		'return \'alert(\"Спасибо за куки!\"+(\"\\\\n\\\\n\"+document.cookie.split(\";\").join(\"\\\\n\")))\''
		)()
	)();
	
// ещё упрощаем

(function(){
	alert( "Спасибо за куки!" + ("\n\n" + document.cookie.split(";").join("\n")) )
	})()

Skipp 20.07.2010 09:13

Aleko,
Делать тебе нечего, лучше чего-нибудь весёлого придумал=)


Часовой пояс GMT +3, время: 15:12.