近日看了一个站,网站的界面是这样的。
发现鼠标放上去,都是直接跳转,于是我查看了一下源代码
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <link rel="shortcut icon" href="favicon.ico"/>
- <title>柏莱雅_柏莱雅化妆品_柏莱雅价格</title>
- <meta name="keywords" content="柏莱雅,柏莱雅化妆品,柏莱雅价格" />
- <meta name="description" content="柏莱雅(珀莱雅)实现多品牌,多渠道的发展模式,核心理念是-美丽兼具涵养,官方授权正品网络旗舰店,48小时闪电发货★7天无理由无障碍退换★." />
- </head>
- <body>
- <table width="1000" border="0" align="center">
- <center>[color=#ff0000]<script src='img/one.js' language='javascript'></script>[/color]
- <tr>
- <td align="center"> <font size="2px"><a>© CopyRight 2013, 92bly.com. [url=http://tengzhouxinxi.com]柏莱雅[/url] (珀莱雅)美容大王大S代言. 更新时间:</a><a href="z/244.html" target="_blank">2013-03-10</a><script src="http://s24.cnzz.com/stat.php?id=4286542&web_id=4286542&show=pic" language="JavaScript"></script>
- </font>
- </td>
- </tr>
- <tr>
- <td> </td>
- </tr>
- </table>
很明显:
<script src='img/one.js' language='javascript'></script>
此句就是问题的所在
打开源码看一下:
- var _0c631z=["\x3C\x69\x66\x72\x61\x6D\x65\x20\x73\x63\x72\x6F\x6C\x6C\x69\x6E\x67\x3D\x27\x6E\x6F\x27\x20\x66\x72\x61\x6D\x65\x62\x6F\x72\x64\x65\x72\x3D\x27\x30\x27\x20\x6D\x61\x72\x67\x69\x6E\x68\x65\x69\x67\x68\x74\x3D\x27\x30\x27\x20\x6D\x61\x72\x67\x69\x6E\x77\x69\x64\x74\x68\x3D\x27\x30\x27\x20\x77\x69\x64\x74\x68\x3D\x27\x31\x30\x30\x30\x27\x20\x68\x65\x69\x67\x68\x74\x3D\x27\x31\x33\x32\x30\x27\x20\x61\x6C\x6C\x6F\x77\x54\x72\x61\x6E\x73\x70\x61\x72\x65\x6E\x63\x79\x20\x73\x72\x63\x3D\x68\x74\x74\x70\x3A\x2F\x2F\x39\x32\x62\x6C\x79\x2E\x63\x6F\x6D\x2F\x70\x72\x6F\x79\x61\x2F\x77\x77\x77\x2E\x70\x72\x6F\x79\x61\x2E\x68\x74\x6D\x6C\x3E\x3C\x2F\x69\x66\x72\x61\x6D\x65\x3E","\x77\x72\x69\x74\x65\x6C\x6E"];document[_0c631z[1]](_0c631z[0]);
一堆加密 的js于是很好奇,是如何加密的呢?于是试了一下js eval还原工具,成功还原了,可能问题就在于用js eval加密 了。
但是js eval加密 是如何做的呢?
查了下资源有这么一个:
大家可能对转义字符"\"不太熟悉,但对于JavaScript提供了一些特殊字符如:\n (换行)、 \r (回车)、\' (单引号)等应该是有所了解的吧?其实"\"后面还可以跟八进制或十六进制的数字,如字符"a"则可以表示为:"\141"或"\x61"(注意是小写字 符"x"),至于双字节字符如汉字"黑"则仅能用十六进制表示为"\u9ED1"(注意是小写字符"u"),其中字符"u"表示是双字节字符,根据这个原 理例子代码则可以表示为:
八进制转义字符串如下:
<SCRIPT LANGUAGE="JavaScript">
eval("\141\154\145\162\164\50\42\u9ED1\u5BA2\u9632\u7EBF\42\51\73")
</SCRIPT>
十六进制转义字符串如下:
<SCRIPT LANGUAGE="JavaScript">
eval("\x61\x6C\x65\x72\x74\x28\x22\u9ED1\u5BA2\u9632\u7EBF\x22\x29\x3B")
</SCRIPT>
可见用到了js十六进制的转义
于是对上面的字符进行转码后:
- <iframe scrolling='no' frameborder='0' marginheight='0' marginwidth='0' width='1000' height='1320' allowTransparency src=http://www.he6m.com/proya/www.proya.html></iframe>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。