<script type="text/javascript"> document.write("<font class=spy2>:<\/font>" + (Zero0FourOne ^ Two1Six) + (SixFourSixFour ^ SixFiveFive) + (Zero0FourOne ^ Two1Six) + (SixFourSixFour ^ SixFiveFive)) </script>
上下文就没有SixFourSixFour 这种类型的变量,直接^,js不会报错吗?而执行的结果是80 怎么回事?
页面地址在这个 http://spys.ru/en/
我想js的运行你差不多知道,就不多说了。你的问题是SixFourSixFour来自哪里吧?
我打开了你的地址,并没看到你说的这个内容。
但是,我在页面代码中倒是看到不少的脚本引用,这个定义应该是在对应的JS脚本中。
一个变量不可能空穴来风,肯定有定义与设置的地方。
从字面看:
(Zero0FourOne ^ Two1Six)就是(0041 ^ 216),异或操作你懂吗?
另外,“+”在有字符串的时候,都会自动转换为字符串。
已经确定跟源码中的一个eval函数有关
<script type="text/javascript"> eval(function(p, r, o, x, y, s) { y = function(c) { return (c < r ? '': y(parseInt(c / r))) + ((c = c % r) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if (!''.replace(/^/, String)) { while (o--) { s[y(o)] = x[o] || y(o) } x = [function(y) { return s[y] }]; y = function() { return '\\w+' }; o = 1 }; while (o--) { if (x[o]) { p = p.replace(new RegExp('\\b' + y(o) + '\\b', 'g'), x[o]) } } return p } ('a=D^C;p=9;l=B^E;i=F^A;s=H^G;r=7;q=J^y;e=5;c=4;j=0;b=3;t=6;h=1;o=u^x;f=z^w;g=v^I;m=O^T;k=2;d=U^V;n=8;K=j^l;P=h^i;R=k^g;X=b^a;N=c^d;L=e^m;M=t^s;Q=r^q;W=n^o;S=p^f;', 60, 60, '^^^^^^^^^^ThreeSevenEight^Eight^One^Four4One^Seven^Five5Nine^NineSevenZero^Three^FiveFiveFour^Five^Six^OneZeroThree^FourOneFive^Two^SevenFiveSeven^Four^TwoOneSix^Zero^ThreeFiveTwo^Nine^3653^7117^8090^8909^9090^640^1337^5333^1080^6411^3129^5198^8085^6586^8118^4024^OneThreeOneTwo^Eight0SevenFour^EightSevenZeroOne^NineTwoFiveSeven^10852^NineOneTwoFive^Three3NineNine^ThreeNineSixThree^EightZeroEightEight^8000^6783^8088^Five0FourZero^Two2ThreeSix'.split('\u005e'), 0, {})) </script>
完全看不懂 - -!~
Zero0FourOne ^ Two1Six 0041 ^ 216--------------- 这个东西好变态啊,firebug看看吧