分析一个被黑客攻击的网站,从网站脚本出发分析黑客的每一行代码,一位十分厉害的黑客,从一个不起眼的地方找到了网站的漏洞,并进行了高明的隐藏
图299-1:抓不到
昨天在google中搜索图片的时候,看到一张图片,看上去感觉挺专业的,于是打算点开网站看一看,打开网站后发现网站跳转到了一个违法网站,很显然网站被黑了,从现象来看之前没有遇到过,于是打算研究一下。发现这个黑客的做法还是挺有趣的,虽然在一定程度上降低了效果,但是隐蔽性非常高,很可能对方站长虽然已经发现了,但是只会认为是偶发性的错误,之后网站就变得正常了,也就不以为意了。这种做法可以用下面这句话来形容:
一次有效、后退无门
图299-2:google中搜索的图片
上图:在google中搜索的图片,看上去是不是挺专业的。
后退无门
图299-3:后退无门
图299-4:违法网站
假设被黑网站的网址是www.aaa.com,打开这个网址后,首先将显示这个网站的内容,大约1秒后页面的内容变为赌博网站,浏览器地址栏中的网址变成新的网址,而且无法返回到之前的真实页面,这就是上面说到的“后退无门”。效果就是明明打开的是www.aaa.com,并且这个网页已经打开了,然后很快自动跳转到了www.bbb.com,你看着它从A网址跳转到了B网址,但是你却无法返回到A网址,要么返回上一个页面不可点击,要么可以点击,但是点击后跳转到再上一个页面。这种做法是不是很可恶。
一次有效
图299-5:正常的页面内容
假如你是这个网站的站长,打开自己的网站跳转到了一个违法的网站,你第一件会做的事情是什么?再次打开这个网址看看,神奇的现象发生了,再次打开时显示的是正常的页面,不再跳转到违法网站。多次打开相同的网址页面显示都正常,那你接下来会做的事情是什么?打开别的页面看看,当你打开别的页面时,仍旧显示正常的内容,违法网站的身影从此消失的无影无踪,于是你会想刚才是不是哪里点错了,还是别的什么原因,想来想去想不明白,于是“管他的,反正就出现过一次”。
这就是上面说到的“一次有效”,有没有发现隐蔽性非常的高,即使被发现也可能会蒙混过关。下面我们来看看这位黑客是如何实现的,浏览器还是使用火狐浏览器。
黑客手段
图299-6:插入黑客代码的位置
在网页源文件中在一个很隐蔽的地方被黑客插入了一段代码,在页面底部的“关于博客”下面的“博主博客”位置,插入了一行代码,引用一个名为lxfs.js的文件,因为这个js在页面的末尾,所以真实页面已经显示后,才会下载这个js,然后才会跳转到违法网站。
图299-7:lxfs.js文件源码
上图是lxfs.js文件的源代码,代码中有一个判断语句,我们先看下半部分,写入cookie值isfirstvisited=false,有效期为1年,然后跳转到www.bbb.com的页面,注意这种跳转是不会被浏览器记录的,也就是跳转后无法返回。下面来看判断语句的上半部分,上半部分是检测cookie值,如果isfirstvisited=false则什么都不做,也就是说,当第一次打开网页时cookie是不存在的,那么就打开违法网站,第二次打开页面时cookie已经存在,则什么也不做,显示正常的页面内容,这就是“一次有效”的实现方法。如果想再次打开违法网站,有三种方法:(1)换一个浏览器,换一台电脑;(2)删除浏览器中保存的这个cookie值;(3)等待一年。
网站被黑后如果要解决这个问题,到这里就完全可以做到了,如果想了解更多“有趣”的内容,可以继续看下面的内容。
后续手段
图299-8:B网站的脚本
1、第2次跳转。
跳转到黑客的www.bbb.com网站后,页面的主体仍旧是一个js脚本,上图是主要的内容。首先创建一个数组,数组中包含有多个网址,这些网址可以指向多个网站,也可以指向单个网站(避免被封),此处全部是同一个网站。然后利用数组中的每一个网址构建一个虚假的网址,通过在网址后面添加随机数的方式构建,假定网址是图片。浏览器并不知道网址不存在,因此浏览器会将所有的虚假网址提交到服务器,服务器接收到后发现网址不存在将返回404,如果网站没有被封,那么这个网址是能够与服务器接通的,如果网址被封将不能跟服务器接通。最后这些网址中第一个接收到服务器反馈的网址将作为当前的网址,并将它打开,假设这个网址是www.ccc.com。
图299-9:B网站提交的虚假网址
上图是www.bbb.com提交的虚假网址,那些小数就是构建网址时的随机数。
2、第3次跳转。
图299-10:C网址的脚本
现在已经将浏览器的地址栏修改为www.ccc.com,我们接着来看看这个网址的内容,打开的网址中发现仍旧是一些脚本,不过这一次已不再是js脚本,而是html脚本,如上图所示。脚本的意思是页面打开0.1秒后跳转到www.ccc.com/zh-cn,跳转到C网址的子页面(称为D网址)。
3、第4次跳转。
图299-11:D网址的301跳转
我们接着追踪,这次页面再次进行跳转,跳转方式再次改变,通过301的方式从www.ccc.com/zh-cn跳转到www.ccc.com/zh-cn/(称为E网址),也就是从子页面跳转为子目录。
4、第5次跳转。
图299-12:E网址的脚本
E网址的内容和B网址是一样的,不同点只是数组中的网址不一样。上图中因为编码方式的问题,中文出现了乱码,不影响脚本的运行。这次跳转之后终于看到真正的内容,下面再来一张违法网站的截图,抚慰这一路的曲折。
图299-13:违法网站
这一次的黑客从一个不起眼的页面底部的“关于”中找到突破口,看来这个网站的这个地方存在漏洞,站长应该注意一下这个地方。最神奇的地方就是“一次有效”,实现了即使被发现,如果对方站长不是技术人员的话很可能就略过了,这个手段非常的高明。进入违法网站之前的网址检测也是十分高明的手段,即使被封了几个网址只要剩下的网址中有一个存活就可以打开违法网站。总之这次的黑客是一个十分厉害的角色,对方站长要小心应对了。
转载请注明:网创网 www.netcyw.cn/b299.html
加油!!!