喜欢脚本入侵技术的朋友,一定听说过闹得纷纷扬扬的上传漏洞吧!有许多利用上传漏洞的工具,比如桂林老兵的“动网上传漏洞利用工具”、“天意上传漏洞工具”等,但是大家在使用这些工具的时候有没有想过它的入侵原理呢?它的背后工作方式是怎么样的?有许多网站并没有打上传漏洞的补丁,为什么无法利用漏洞上传成功呢?今天我们将给大家一个答案,而这个答案依赖一个简单的工具WSockExpert 来实现。
一、WSockExpert 简介
WSockExpert 是一个抓包工具,它可以用来监视和截获指定进程网络数据的传输,对测试网站时非常有用。在黑客的手中,它常常被用来修改网络发送和接收数据,利用它可以协助完成很多网页脚本入侵工作。
WSockExpert的使用原理:当指定某个进程后,WSockExpert就会在后台自动监视记录该进程通过网络接收和传送的所有数据。在进行网页脚本攻击时,我们常常会利用到用户验证漏洞、Cookie构造等手段,在使用这些入侵手段时,我们先用WSockExpert截获网站与本机的交换数据,然后修改截获到的网络交换数据,将伪造的数据包再次提交发送给网站进行脚本入侵,从而完成攻击的过程。
二、WSockExpert 的使用
WSockExpert的使用非常简单,软件运行后界面如图1所示,点击工具栏上的“打开”按钮打开监视进程选择对话框(如图2),在其中找到需要监视的进程后,点击左边的加号按钮,展开后选择需要监视的进程即可。以监视IE浏览器网络数据为例,可以在打开的对话窗口中找到进程项目名“iexplorer.exe”并展开,在其下选择正在登录的网页名称,例如“搜狐通行证-搜狐 - Microsoft Internet Explorer”的进程。选择该进程后,点击对话框中的“Open”按钮,返回主界面开始对本机与“搜狐通行证”网站的数据交换进行监控。如果点击对话框中的“Refresh”按钮的话,可以刷新列表中的进程项目名。
图1
图2
在主界面的上部窗口中,将即时显示本地主机与远程网站进行的每一次数据交换(如图3)。可以从“Status”中看到此次数据交换是发送或接收的状态,并可在“PacketsHex”列中看到交换数据的十六进制代码;在“PacketsText”中显示的是十六进制代码转换过来的信息。从“Address”列中可以查看到每次数据交换经过了多少次IP地址传递与转换,并可查看到远程主机的IP地址。
图3
点击窗口中的某次数据交换,在下方的窗口中可以看到详细的转换后的交换数据信息,类似:
“GET /freemail/030814/c.gif HTTP/1.1
Accept: */*
Referer: http://passport.sohu.com/auth.jsp
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Maxthon)
Host: images.sohu.com
Connection: Keep-Alive
Cookie: SUV=0410082157007081; IPLOC=CN52; SITESERVER=ID=a936e6b07d96bcc24d5b8b59e9cf435a ”
在捕获到的信息中比较重要的数据项目有:“GET ……”,该项表示与网站交换信息的方式;“Referer :”,表示WSE 捕获到的数据提交网页,这在查找一些隐藏的登录网页时较为有用;以及远程主机名“Host ”、连接方式“Connetcion ”等,其中的“Cookie ”在构造伪装数据时一般都要用到。
在这里,我们捕获到的是密码传送步骤的交换信息,在诸如发贴、文件上传等操作时,还可以捕获到的一些重要的信息,如“Content-Type: image/gif”代表了上传的文件类型,而“Content-Length:”表示Cookie的数据长度;还有文件上传后的保存路径等等,总之任何重要的隐藏数据交换都逃不脱你的眼睛。
小提示:此外在工具栏上还有“Filter ”过滤按钮,可以对接收和发送的数据信息进行过滤保存与清除,在此就不做详细介绍了。
三、WSockExpert 使用实例
上面的基础介绍可能有点乏味,新手们可能并不知道该如何应用WSockExpert ,下面就结合前段时间的上传漏洞,为大家介绍一个WSockExpert 协助入侵的实例。
1. 上传漏洞的简单原理
傻瓜化的上传工具大家用过不少了,但是对于上传漏洞的原理,也许不一定很了解。正是由于缺乏对入侵原理的了解,所以大家在利用上传漏洞时常常不能够成功,因此先给大家简单的讲述一下入侵的原理。
网站的上传漏洞是由于网页代码中的文件上传路径变量过滤不严造成的,在许多论坛的用户发帖页面中存在这样的上传Form (如图4 ),其网页编程代码为:
图4
“
" class="login_btn">
”
在其中“filepath ”是文件上传路径变量,由于网页编写者未对该变量进行任何过滤,因此用户可以任意修改该变量值。在网页编程语言中有一个特别的截止符"\0" ,该符号的作用是通知网页服务器中止后面的数据接收。利用该截止符可们可以重新构造filepath ,例如正常的上传路径是:
“http://www.***.com/bbs/uploadface/200409240824.jpg ”,
但是当我们使用“\0 ”构造filepath 为“http://www.***.com/newmm.asp\0/200409240824.jpg ”
这样当服务器接收filepath 数据时, 检测到newmm.asp 后面的\0 后理解为filepath 的数据就结束了,这样我们上传的文件就被保存成了:“http://www.***.com/newmm.asp ”。
小提示:可能有人会想了,如果网页服务器在检测验证上传文件的格式时,碰到“/0 ”就截止,那么不就出现文件上传类型不符的错误了吗?其实在检测验证上传文件的格式时,系统是从filepath 的右边向左边读取数据的,因此它首先检测到的是“.jpg ”,当然就不会报错了。
利用这个上传漏洞就可以任意上传如.ASP的网页木马,然后连接上传的网页即可控制该网站系统啦。
2.WSE与NC结合,攻破DvSP2
许多网站都存在着上传漏洞,如动网、天意商务网、飞龙文章系统、惊云下载等,由于上传漏洞的危害严重,所以各种网站都纷纷采取了保护措施。但是由于网页编程人员在安全知识方面的缺乏,因此很多网站都只是简单的在代码中加了几个“hidden”变量进行保护。这一招对桂林老兵之类的漏洞利用工具是有用的,也是很多新手利用上传漏洞不成功的原理。不过在WSockExpert的面前,它们就无能为力了。在这里以入侵“DvSP2云林全插件美化版”网站为例介绍一个入侵的全过程:
首先在Google 或百度中输入关键词“Copyright xdong.Net ”进行搜索,将会得到大量使用“DvSP2 云林全插件美化版”建立的网站。这里我挑选了“http://ep***.com/dl/viovi/20050709/bbs/index.asp ”作为攻击目标。
注册并登录论坛,选择发帖,然后在文件上传路径中浏览选择我们要上传的ASP 网页木马(如图5 )。再打开WSockExpert 开始监视与此网页进行的数据交换,回到网页中点击“上传”按钮,将会报错提示文件类型不符。不用管它,回到WSockExpert 中找到“ID ”为3 和4 的这两行数据,将它们复制并粘贴到一个新建的TXT 文本文件中。打开此文本文件,在其中找到“filename="D:\ 冰狐浪子微型ASP 后门\asp.asp" ”,改为“filename="D:\ 冰狐浪子微型ASP 后门\asp.asp .jpg" ”(如图6 )。
图5
图6
小提示:注意在“.jpg ”前有一个半角空格在,由于增加了“ .jpg ”5 个字符,所以要将Cookie 的长度“Content-Length: 678 ”改为“Content-Length: 683 ”。然后保存此文件为“test.txt ”。
用UltraEdit32 打开刚才保存的“test.txt ”文件,打到“filename="D:\ 冰狐浪子微型ASP 后门\asp.asp .jpg" ”,把空格对应的十六进制代码20 改为00 。然后再次保存文本(如图7 )。
图7
打开命令窗口,在其中输入“
>nc epu***.com 80”,很快提示提交成功,并显示文件上传后的路径为“http://ep***.com/dl/viovi/20050709/bbs/asp.asp ”。打开冰狐浪子客户端,输入网页木马链接地址后即可对网站进行控制了(如图8 )。
图8
四、总结
最后要提醒大家的是,这种入侵方式对付许多存在上传漏洞的网站都是非常有效的,如文中提到的多种网站系统。其利用原理都是相同的,方法大同小异而已。而WSockExpert的用法也不仅止于上传漏洞入侵,在很多场合都是我们入侵分析的好帮手。