< xmp>标签解密大法 's

admin 2017年4月30日04:22:07评论318 views字数 7695阅读25分39秒阅读模式
摘要

来源:余弦函数在JavaScript网页的解密中。<xmp>标签居然也起到很重要的作用!因为这对<xmp></xmp>标签内的HTML元素将被渲染为文本,按原样输出。将下面代码保存为xmp.htm,你试试就知道了:)

<xmp>
<html>
<head>
<title>JavaScript解密/title>
</head>
<body>
xmp内的所有标签将被显示!
</body>
</xmp>

来源:余弦函数

在JavaScript网页的解密中。<xmp>标签居然也起到很重要的作用!因为这对<xmp></xmp>标签内的HTML元素将被渲染为文本,按原样输出。将下面代码保存为xmp.htm,你试试就知道了:)

<xmp>
<html>
<head>
<title>JavaScript解密/title>
</head>
<body>
xmp内的所有标签将被显示!
</body>
</xmp>

1、根据这个原理,我们就可以开始构造代码,以将HTML中被加密了的代码解密出来,这样解密出的代码是可以直接复制的,这个灵感来自好友阿郎提供的那段加密代码:http://www.asptop.cn/article/article_144_1.asp,这是经过CryptHTML加密的:

<html><head><Meta Name=Encoder Content=HTMLSHIP>
<!--The page is protected by CryptHTML XP(Unregistered Version)--><noscript><iframe></iframe></noscript><script language="javascript"><!--
sB73="/{/+se5/{w",tZ25="/{/+/*p/*s/[ep";7.852054E-02,nP19="0.6484527",tZ25='j/^J9x/#5tg/,MpR/'///</rIW//e1o/=/&7bmL2G/;szadwq/%6Hv/`/}Bk/[/nuO/?/*QhFl4/~/{/)8AT/|ySPE/+/"U/(Y/!N/_0Vfni/@/$/]KDcr/ /-Z/./:C3/>X',sB73='/|/;///%F/[U5z/_/&/@3/(PbN/'xak8h/:CI/+/{G/`Z/=l2E/#/?4pL/~gAM/^sW61/}/<K7f/rDY//q0oHi/$/n/>/*Q/ /.By/)urjXVORnT/"vwd/!SJ/]c9/-etm/,';function dE39(jK57){"/{/+/[/[/ne/*5",l=jK57.length;'V/-/+/+/~HV/+Z',w='';while(l--)"/{/+5/*w/*/*/ne",o=sB73.indexOf(jK57.charAt(l)),'V/-F//VVF//5',w=(o==-1?jK57.charAt(l):tZ25.charAt(o))+w;"p/+Z/*/*sZZz/./{p",sB73=sB73.substring(1)+sB73.charAt(0),document.write(w);'Z/-VZ/+5/+/+/ cVZ'};dE39("bl/!Sn/@5JDERz1Ezk/:/|EgEl/!Sn/@5mf/rtU/:Lt/`I/=nOy/#h/!1/{kR59EDD0qO1R/!5nhRJj/#/{y0qSk51SRJOEDlkM/=O1R/!5nhRJj/{/#/{y0q/#h/!1/{kR59hR/!hR5kF5/{kR1/:j/#/{/=lk5in/{kh15y/.j/{/#/{y0/./_oXX0M/=j/{/#/{y0/=M/#h/!1/{kR59hR/!hR5kF5/{kR1/:Rk/?J/r1R/!5nhRy/.Sk51SRJOEDlk/.0/=O1R/!5nhRJjR/#/{yk0qnOy/#h/!1/{kR59DE/nkSl/$/$/?nR/#h/?9ln/#k/+ES0qnOyk9/?fn/!fu/:80Sk51SRJOEDlk/=MM/=nOy/#h/!1/{kR59DE/nkSl0q/#h/!1/{kR59/!E/@51SkQgkR5lyQgkR59/&/}B/>Qd/}xr0/=/#h/!1/{kR59hR/{h1lk/#h/?R/:jR/#/{/=MkDlkq/#h/!1/{kR59hR/{h1lk1/@/:jR/#/{/=M/=zi/%U/:IYIX/=/{/^LU/:Yt/`/%/=O1R/!5nhRJj/#/#ly0qnOy/#h/!1/{kR59EDD0q/#h/!1/{kR59hRlkDk/!5l5ES5/:O1R/!5nhRJy0qSk51SRJOEDlkM/=lk5in/{kh15y/.j/#/#ly0/./_IXX0MM/=j/#/#ly0/=D/}/`U/:UYI/`/=R/>tI/:L8t/=/#eY/`/:tYI/`/=hVY/%/:UIUY/=/@HYL/:/`XYY/=/=jDn/!kRlk/#j5hj/:/././=bPl/!Sn/@5m")//--></script><Script lAnguage=jAVAsCRiPT>dE39("N/rzGY/,/'1N/{/:/?/>/,/'1N2SJT3z/]z/>38CBz8/[zb/;2SJT3zB/,/'1R/}nSzT/:n/]TnTz/)o/]0/'1/?/:S/}G8nz/-4JTz8/)BBol/^/'14Tn/?/:4/-/:nY/:/#/?/]C/]TnTzl/'1Nb2SJT3z/,/'1N2SJT3z/]Y/#n/_/}/#/_8CBOs/*SJT3zB/,/'1/*CBV/!Vi/~D/~/ ZV/~5/+Z/+Z/~D/+ZZV/+Z/~5/+m/+5/~/!/~5ZV/~/ /~5/+H/+//V/!ViB/'1/*C/*/.B/~/~/~/ /~h/~/!/~5mhm/!ZZ/+V/~5Z/ /~5/+H/~5ZZV/!Vi/~/~/~/ /~h/~/!/~5mZm/!ZZ/+V/~5Z/ /+/~/~Z/+mZZV/!ViB/'1/*C/*/.B5m/~5/+//ZV/~///~/~ZVm/!ZV/~///~D/~m/+5/~/!/~5/~/ /+//Z/ /~m/+Z/~5/~h/+///~5//5/~t/~5/~/!/~5/~/ /+//ZHZZ/~D/~Z/~i/~5/~m/+//ZZZFV/!Vi/~///~/~Z/ /+m/~5/+////h/+///+///+Z/~F/~Z/+5/+///~5ZVZZ/~m/~t/~h/+m/+m/~F/~//ZZZtZVZZ/~m/~t/+m/~F/~//mi//Z////mFm/~//mm5m5m/~Z/!m/~m5//hmmZ/!mhmh////mVZ/!mFmHmm//hB/'1/*C/*/.BZ/!mVmV//mmVm/////~//mmZmF//5mmm/~ZZV/!Vi/+m/+///+Zm/!ZZ///!/~F/~m/+Z/~D/+m/~D/~/~/+//Z/ 5H///!//t//H5//5//5VZZV/!Vi5m/~5/+//ZV/+HZVm/!ZV/~///~/~Z/ //m/+Z/~5/~h/+///~5//D/~Z/~i/~5/~m/+//ZH/+m/+///+ZZtZZZZZFV/!Vi//mmhm/!ZZ//h/~///~DZZV/!Vi//mmZm/!ZZ/~///~ZZ/ ZZV/!Vi//mmmm/!ZZ/+m/+//B/'1/*C/*/.B/+ZZZV/!Vi//mm//m/!ZZ/~5/~h/~/!ZZV/!Vi/+m/+///+Zmhm/!//mmhZ/~//mmZZ/~//mmmZ/~//mm//V/!Vi/+m/+///+Zm5m/!/+m/+///+ZmhV/!Vi/+m/~5/+//ZV5mZVm/!ZV/~///~/~Z/ /~m/+Z/~5/~h/+///~5/~D/~Z/~i/~5/~m/+//ZH/+m/+///+Zm5ZtZZZZZFV/!Vi5mZ/ /+///+F/+V/~5ZVm/!ZVmhV/!Vi/+m/+///+Zm/~m/!ZZ///+//55//ZZV/!B/'1/*C/*/.BVi/+HZ/ //D/+V/~5/~/ ZV/+m/+///+Zm/~ZtZV/~m/+5/+Z/~tZtZV///~/~h/~t/+m/~5V/!Vi/+HZ/ 5m/~5/~/ /~//V/!Vi/+mmhm/!ZZ5m/~m/+Z/~F/+V/+//ZZV/!Vi/+mmZm/!ZZ/~F/~/ /~/+Z/ ZZV/!Vi/+mmmm/!ZZ///~/~F/~t/~5ZZV/!Vi/+mm//m/!ZZ5m/+F/+m/+///~5/~/!//D/~Z/~i/~5/~m/+//ZZV/!Vi/+mmVm/!/+mmhZs/+mmZZs/+mmmB/'1/*C/*/.BZs/+mm//V/!Vi/+m/~5/+//ZV///~ZVm/!ZV/~///~/~Z/ /~m/+Z/~5/~h/+///~5/~D/~Z/~i/~5/~m/+//ZH/+mmVZtZZZZZFV/!Vi/+m/~5/+//ZV/+///~/!/+VZVm/!ZV///~Z/ ///+/~5/+//5m/+V/~5/~m/~F/~h/~t///~/~D/~t/~///~5/+ZZHmZZFV/!Vi/~/~/~/ /~h/~/!/~5mhm/!ZV///~Z/ //Z/+5/~F/~t/~//5V/~h/+///~HZH/+///~/!/+VZt/~/~/~/ /~h/~/!/~5mhB/'1/*C/*/.BZFV/!Vi5mZ/ /~D/+V/~5/~/ V/!Vi5mZ/ /+/+/+Z/~F/+///~5ZV/+HZ/ /+Z/~5/+m/+V/~D/~/ /+m/~5//Z/~D/~///+FV/!Vi5mZ/ /+m/~h/+/~/~5/+///~D/~/~/~F/~t/~5ZV/~/~/~/ /~h/~/!/~5mhZtmZV/!Vi5mZ/ /~m/~t/~D/+m/~5V/!Vi/~/~/~/ /~h/~/!/~5mZm/!ZV///~Z/ //Z/+5/~F/~t/~//5V/~h/+///~HZH/+///~/!/+VZt/~/~/~/ /~h/~/!/~5mZZFV/!ViB/'1/*C/*/.B5m/~5/+//ZV/+///+mZVm/!ZV///~Z/ //D/+V/~5/~/ 5///~5/+H/+/////~/~F/~t/~5ZH/~/~/~/ /~h/~/!/~5mZZtZVmZZtZV5///+Z/+5/~5ZFV/!Vi/+///+mZ/ 5/+/+Z/~F/+///~5//t/~F/~/ /~5ZVZZ5m/~5/+//ZV5m/~H/~5/~t/~tZVm/!ZV//m/+Z/~5/~h/+///~5//D/~Z/~i/~5/~m/+//ZHZZZZ5m/~H/~5/~t/~tZ/ //h/+V/+V/~t/~F/~m/~h/+///~F/~D/~/ B/'1/*C/*/.BZZZZZFZZV/!Vi/+m/+h/~tm/!ZZ5m/~H/~5/~t/~tZ/ 5m/~H/~5/~t/~t//5/+H/~5/~m/+5/+///~5ZVZZZZZZZs/~/~/~/ /~h/~/!/~5mhZsZZZZZZZtZZZZZZZZZtZZZZZZZZZtZZZZ/~D/+V/~5/~/ ZZZZZtmVZZV/!Vi/+///+mZ/ 5/+/+Z/~F/+///~5//t/~F/~/ /~5ZV/+m/+h/~tV/!Vi/+///+mZ/ /~m/~t/~D/+m/~5V/!Vi/~F/~/~ZV///~B/'1/*C/*/.BZ/ ///~/~F/~t/~5//5/+H/~F/+m/+///+mZH/~/~/~/ /~h/~/!/~5mhZFm/!/+///+Z/+5/~5ZV/+///~H/~5/~/ V/!Vi/~F/~/~ZV///~Z/ ///~/~F/~t/~5//5/+H/~F/+m/+///+mZH/~/~/~/ /~h/~/!/~5mZZFm/!/+///+Z/+5/~5ZV/+///~H/~5/~/ V/!ViZVZVZVZV/+m/~5/+//ZV5hZVm/!ZV/~///~/~Z/ /~m/+Z/~5/~h/+///~5/~D/~Z/~i/~5/~m/+//ZHZZ5m/~H/~5/~t/~tB/'1/*C/*/.BZ/ //h/+V/+V/~t/~F/~m/~h/+///~F/~D/~/ ZZZtZZZZZFV/!ViZVZVZVZV5hZ/ 5m/~H/~5/~t/~t//5/+H/~5/~m/+5/+///~5ZV/~/~/~/ /~h/~/!/~5mZZtZZZZZtZZZZZtZZ/~D/+V/~5/~/ ZZZtmVV/!Vi/~5/~/ /~//ZV/~F/~/~V/!Vi/~5/~/ /~//ZV/~F/~/~V/!ViB/'1/!CBB/'1/!/</]agx/`/ /]/`/ j/)/*o/,h/'1/]/]/]/]WCBIgB/./`/ D/$/)/*/&Zo/'1/]/]/]/]3Ct/`n/_/)Wo/'1/]/]/]/]GCS/rJ/)3o/'1/]/]/]/]/!C/!IG/'1/]/]/]/]/*C/@x/!/)/*/&mo/'1/`/</<Q/'1/}/}JYCB/rzz3ebb/r/#/{/#/:/-GzA/{Y/:/_/-Snb3/:34Tnb2/:Rzb8/+m5Z8/?FZ/#HZF/#/?R/-8/[8B/'12z/}CBS/}JYCBBB/]I/]/}/}JY/]I/]BBBB/'1/!C2z/}I/!/'1/ /|/ ty/$/ /]/!/'1Nb2SJT3z/,/'1Nb/{/:/?/>/,/'1Nb/rzGY/,/'1Nz/#/{Y8/]/{/:J/?8JCV/]4T/?z/rChVVL/]/r8T/_/rzCZ5/]S8YY23/#STn/_CV/]S8YY3/#/?/?Tn/_CV/,NzJ/,Nz/?/]4T/?z/rC/+5L/]/r8T/_/rzChF/,N/{YTnW/,NG/#Jp/}88/,/$/r8/]3/#/_8/]T2/]3J/:z8Sz8/?/]/{/>/]tJ/>3zgzGYNbG/#Jp/}88/,Nb/{YTnW/,Nbz/?/,Nz/?/]4T/?z/rCZ5L/]/r8T/_/rzChF/,N2zJ/:n/_/,N/#/]/rJ8RC/rzz3ebb444/-RY/#2/r38/#W/-S/:GbSJ/>3z/rzGYbJ8/_T2z8J/-/rzG/,Q/:48J/]/{/>/]tJ/>3zgzGYNb/#/,Nb2zJ/:n/_/,Nbz/?/,NbzJ/,Nbz/#/{Y8/,")</script></head><body><noscript><b><font color=red>This page requires a javascript enabled browser!!!</font></b></noscript></body></html>

这段乱码看了都头晕,不过注意我用颜色标记的字符即可。function定义了dE39()这个函数,有两处调用了dE39函数,并且在function定义dE39函数内出现document.write!还记得我前面说过的document.write大法吗?并且我说过将document.write换为alert即可解密。你试试就会知道了(建议断网测试,否则中毒别来找我^^)。这是经典的alert大法!不过这样解密就糟了,因为解出的代码无法被复制……

2、所以现在我介绍<xmp>标签解密大法。其实<xmp>标签不闭合也行(即不要</xmp>)。很明显function定义的dE39函数具有解密功能,否则浏览器如何解释那些乱七八糟的字符?请记住我在JavaScript加密解密原理详解中提到的两大原理。不多说了,看<xmp>标签是如何解密的:
将上面红色标记的document.write(w);改为(w.length>1000)?document.write("<xmp>"+w):alert(w);。运行后就会看到解密效果了。真正有价值的不是alert(w)弹出的信息,而是document.write写出来的信息。为什么要这样构造?这样构造的原因是CryptHTML加密代码本身的限制。我解释下(w.length>1000)?document.write("<xmp>"+w):alert(w);的意思:
其实这行代码是一条件判断语句,结构是这样的:(条件判断)?表达式1:表达式2。即当w.length>1000为真则执行document.write("<xmp>"+w),为假则执行alert(w)!而functiondE39()后,有两处调用了dE39函数,从构造的代码来看,第一次调用为假则执行了alert(w)(所以就弹出了对话框);第二次调用为真则执行了document.write("<xmp>"+w)语句!所以我们得以最终看到解密出的代码^^

3、好了,这段乱码解密出来了,那现在再来看看“<xmp>标签解密大法”的其他小运用吧!构造document.write("<xmp>"+"加密字符串")这样格式的解密方法。来解密这段代码:
/x3c/x64/x6f/x63/x75/x6d/x65/x6e/x74/x2e/x77/x72/x69/x74/x65/x28/x22/u4f59/u5f26/u51fd/u6570/x22/x29/x3e
结合document.write("<xmp>"+"加密字符串">来构造解密程序:
<SCRIPT LANGUAGE="JavaScript">
document.write("<xmp>"+"/x3c/x64/x6f/x63/x75/x6d/x65/x6e/x74/x2e/x77/x72/x69/x74/x65/x28/x22/u4f59/u5f26/u51fd/u6570/x22/x29/x3e")
</SCRIPT>

将这段代码保存为xmp.htm,运行后,看到解密出来的代码了吧?正是由于document.write方法将<xmp>标签写进被加密的代码前面,才使得代码最终被解密出而且按原样输出。这样我们就可以方便复制这些解密出的代码了。

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2017年4月30日04:22:07
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   < xmp>标签解密大法 'shttps://cn-sec.com/archives/47550.html

发表评论

匿名网友 填写信息