对web系统的安全性分析_第1页
对web系统的安全性分析_第2页
对web系统的安全性分析_第3页
对web系统的安全性分析_第4页
对web系统的安全性分析_第5页
免费预览已结束,剩余18页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

对web系统的安全性分析 专业:计算机网络技术 摘要:随着计算机网络和Internet的迅速普及,如今Web应用服务已经成为非常流行的网络服务,而且Web网站的内容已经涉及到现实世界的方方面面,因此Web网站已经成为互联网最重要的资源之一。与此的同时,Web网站也面临着巨大的安全威胁,各种各样的攻击方式,如SQL注入、上传漏洞、Cookies欺骗等,扰乱了无数正常网站的运行,给社会带来了巨大的经济损失和不利的政治影响。该文介绍了作者利用各种入侵技术对清远职业技术学院现用的Web系统进行渗透测试并对此做出安全分析,说明了潜在的安全隐患,然后根据潜在的安全隐患制定相应的修复方案,避免发生更严重的非法入侵事件。关键词:SQL注入,上传漏洞,网络安全,入侵分析,渗透测试AbstractWith the rapid popularization of computer network and Internet, web application services has become a very popular network service and one of the most important resources in the internet. While its contents involve in all aspects of the real world, web application services face huge security threats, a variety of attacks, such as SQL injection、upload holes、Cookies deception. All of these disrupt the normal operation of numerous websites which bring large economic losses and adverse political effects.This paper introduces that the author use different kinds of invasive techniques to make the security analysis about Qingyuan Polytechnic College current Web system in order to find out its potential security risks. And then make the repair plan to avoid more serious illegal invasions.前言随着计算机网络和Internet的迅速普及,如今Web应用服务已经成为非常流行的网络服务,而且Web网站的内容已经涉及到现实世界的方方面面,例如在线购物、在线看病、金融服务、银行服务等等。但是近年来,网站被攻 击的事件不断发生,Web网站面临着前所未有的安全威胁,黑客的入侵、 病毒的蔓延扰乱了无数网站的正常运行。例如最近的全球最大的IT中文社区CSDN网站被黑客入侵,数据库被下载了,然后在网上公开了这份600万用户的明文密码的数据库,被无数的网友下载。此事之后,网上曝出人人网、天涯 、开心网、多玩、世纪佳缘、珍爱网、美空网、百合网、178、7K7K等知名网站也采用明文密码,用户数据资料被放到网上公开下载,因此,众多网友的账号安全受到严重威胁。更之前的新浪微博遭遇到首次跨站攻击蠕虫(CSRF)侵袭,微博用户中招后会自动向自己的粉丝发送含毒私信和微博,有人点击后会再次中毒,形成恶性循环。正因为Web与人们生活紧密相关着,所以Web系统的安全也就随着变得愈加重要了。作者所在的清远职业技术学院,是经广东省人民政府批准、国家教育部备案的综合性公办高等院校,现在校生14000多人。学校有各种的Web系统,如果这些Web系统遭受到黑客的入侵,就可能会造成各种学校机密文件和学生资料的外泄。所以作者就用一些入侵技术,对学校的Web系统检测存在的安全漏洞,以防止黑客的非法入侵。第一章 主站的安全清远职业技术学院的官方网站是/ 作为学院的主站,其肯定是黑客首先入侵的目标,也是黑客最终入侵的目标,所以其安全性就非常非常的重要。第一部分 信息收集 入侵首先得知道提供web服务器的网络操作系统,于是随便点一个新闻页,改下其中一个字母大小写,出现如下错误:Not FoundThe requested URL /Qingzhxw/2011-12-23/748.html was not found on this server.Apache/2.2.14 (Ubuntu) Server at Port 80然后执行命令 ping 得到了该网站的IP地址,将得到的信息整理如下表。外网IP内网IP暂时未知网络操作系统Ubuntu应用服务器软件平台Apache 2.2.14脚本语言未知得到了这些信息之后然后就爬行一下网站的目录,大概对网站的结构有个了解。主站目录结构第二部分 信息分析目录中有个 /e 目录,根据作者对目前主流Content Management System(简称CMS)的了解,该网站应该是采用帝国CMS二次开发的。可以访问/e/admin/ 验证一下。可以看到,网站底部还有版权信息,Powered by EmpireCMS 6.5。帝国6.5发布了差不多整整一年,都没爆出什么致命的漏洞,不排除有厉害的黑客找到了帝国CMS的漏洞并且没公布出来这种情况。不管怎么说,网站程序的安全性算是非常的高的了。第三部分 入侵尝试既然程序没有漏洞,那就看看网站管理员有没有疏忽。然后就尝试下管理员账号密码的弱口令问题,作者试了几十个弱口令,如“admin”、“admin888”、“admin123”、“123456”等等,都没有成功进入后台。然后利用社会工程学,结合改学校的域名,组合了一些密码,如“qypt”、“qypt123”、“”、“qyptadmin”等,也是没有成功进入后台。第四部分 入侵结束分析服务器是采用UBUNTU操作系统的,用的是linux的内核,对于linux的提权,如果是没有及时打上补丁的,只要拿到网站的权限就可以通过溢出程序进行提权,从以上的情况来看,只要是帝国CMS没爆出什么致命的漏洞的话,主站是相对安全的,只要网站管理员时刻留意最新的linux内核漏洞和Web程序漏洞的情况,出现漏洞马上修补,这样就能防止被入侵了。不过以上是针对单网段单服务器单网站的情况下的,就是说,一个网段里面就只有这台服务器,这台服务器里面就只有这一个网站。通常来说,单网段但服务器单网站这种情况是不可能存在的,如果不是这样的话,如果黑客拿下了其他同C段的服务器,就可以在服务器上进行ARP欺骗攻击,这是TCP/IP协议的缺陷,不过这种攻击方式只是让访问者浏览到他设定的网页上去,而且这种攻击方式比较周折,一般来说,作为一个学校的网站,几乎不可能有人会这么做。所以,主站的安全性算是很可以的,一般不会被入侵。第二章 教务管理系统的安全一个大型Web网站的安全,不单单是主站的安全做好了就行了的,旁站的安全也是很重要的, Web安全就是跟木桶原理的一样的,总体的安全性只取决于安全性最低的那一块。在学校的首页那里,有明显的教务管理系统的入口,而且可以从公网访问的。这样做,应该是为了放假之后,方便学生查询成绩吧。不过,任何事有利就必有弊的,这样就相当于给黑客多提供了一个入侵的入口,而且教务系统存放着学生信息、成绩等敏感的资料,如果被黑客入侵了的话,那就能任意修改学生的成绩和下载学生的信息了。第一部分 信息收集分析相应相应的HTTP头信息Cache-ControlprivateConnectioncloseContent-Length5524Content-Typetext/html; charset=gb2312DateWed, 18 Apr 2012 11:24:00 GMTServerMicrosoft-IIS/6.0Set-CookieASP.NET_SessionId=pnjtxx55z5pvq2552qb5wl45; path=/X-AspNet-Version1.1.4322X-Powered-ByASP.NET外网IP:3040内网IP暂时未知网络操作系统Windows Server 2003应用服务器软件平台IIS 6.0脚本语言ASP.NET第二部分 信息分析打开教务系统的首页,出现登陆页面的布局,根据作者的经验,可以确定是正方教务管理系统的源码,而且不是最新版的源码。旧版本的正方教务系统有一个页面存在两个很严重的漏洞,可以直接拿到webshell。在这里,作者模拟自己是学校外面的人来对其进行入侵的,所以这里作者没有用户名、密码,不过可以通过社会工程学等方法获取到可以登陆进去的用户名、密码,从而登陆进去检查漏洞。其实没有登陆的用户名、密码也可以入侵,这个老版本的正方教务管理系统有个上传页面是没有身份验证的,可以直接访问,下面会说明的。旧版正方教务系统登陆布局新版正方教务系统登录布局第三部分 入侵尝试首先我们先以用户名、密码登陆的方式进去模拟入侵。登陆进去发现,这个教务系统有很多的功能。随便浏览下功能,然后在“个人信息”里面发现了有个“信息发送”的功能信息发送功能点进去发现有个编辑器,还有个上传图片的地方。其实这个上传图片的页面,并没有身份验证,可以直接用地址访问就可以上传图片,地址如下::3040/ftb.imagegallery.aspx 这个上传页面上传图片之后并没有重命名,也就是说,上传之前是怎么的文件名的,上传到服务器之后还是这样的文件名,而且是IIS6.0的缘故,存在着解析漏洞。插入图片,点进去就是上传页面IIS6.0的解析漏洞有两个,一个就是在网站下建立文件夹的名字为“*.asp”、“*.asa” 的文件夹,其目录内的任何扩展名的文件都被 IIS 当作 asp 文件来解析并执行。另外一个就是网站上传图片的时候,将网页木马文件的名字改成“*.asp;.jpg”,也同样会被 IIS当做asp 文件来解析并执行。在这里我们可以利用第二个解析漏洞来拿到Webshell,上传个文件名为“1.asp;.jpg”的asp网马上去,提示成功。然后就是得知道上传之后的地址了,可以随便插入一个图片,点HTML看源码,就知道了这里上传图片之后存在的路径了。然后构造地址:3040/images/1.asp;.jpg 访问asp网马,输入密码,Webshell就拿到了。上传页面上传后的地址Webshell界面第四部分 进一步入侵从webshell的头部信息可以看到内网的IP,然后看能不能把这台服务器提权了,然后利用这台服务器作为跳板,就能突破防火墙入侵校园网里面了。进去webshell后利用目录浏览功能,浏览服务器上的文件信息,以查找可以利用的信息。然后在某个网站目录的网站配置信息里面发现,居然是用 “sa” 账户连接SQL Server!而且还是弱口令! 众所周知,SQL Server里面的“sa”账户就相当于系统里的system权限啊。所以利用“sa”账户连接SQL Server就可以直接执行命令加一个管理员,然后就用远程桌面连上去,这样黑客就像操作自己的电脑一样操作服务器了。通过执行添加用户的命令的时候,发现了“拒绝访问”的提示。这应该是“net.exe”、“net1.exe”删除掉或者拒绝掉了“administrator”或者“system”的权限,不过有“sa”就有很大的可能提权,我们只需要把“net.exe”、“net1.exe”的权限修改就可以了。在DOS命令下的cacls命令是显示或者修改文件的访问列表的。执行命令 “cacls c:windowssystem32net.exe /e /c /g administrators:f”“cacls c:windowssystem32net1.exe /e /c /g administrators:f”、“cacls c:windowssystem32net.exe /e /c /g system:f”、“cacls c:windowssystem32net1.exe /e /c /g system:f” 。这几条命令的作用就是把“system”和“administrators”组的用户完全控制“net.exe”和“net1.exe”这两个文件,执行成功之后就可以直接用“net”命令直接添加用户,然后提升为管理员了。执行命令,出现拒绝访问错误增加权限添加账号添加了管理员的用户之后就可以通过远程桌面连接上去了,连接的时候发现,提示错误连不上,应该是修改了端口。于是执行“netstat -an”命令,查看远程终端的端口,发现了一个“2009”的特殊端口,很大的可能就是远程桌面的端口,因为一般的常用端口都没这个这么特别。连上去,成功了。远程连接成功第五部分 入侵后分析其实通过windows系统的漏洞,利用对应的漏洞提权工具也可以实现提权目的第六部分 更进一步入侵进去服务器之后,发现教务系统的数据并不是存放在这个服务器上,然后就找连数据库服务器的配置文件,然后在某个网站的目录发现了一个这样的文件,还是“sa”连接的,并且是弱口令,因此推断“7”就是数据库服务器。连了上去,执行提权命令,发现跟上的情况是一样的,也是拒绝访问,按照的操作一样,执行calcs命令,把net.exe 和 net1.exe的权限恢复,然后再执行提权命令,成功添加管理员账号。然后执行netstat an 查看远程桌面的端口号,3389,默认端口,没有修改,连接过去登陆,成功。登陆服务器之后就去翻里面的目录,寻找有用的信息。这台是数据库服务器,但是在IIS里面也发现了有其他网站,这完全是不可取的,既然实施了网站和数据库分离,那为什么还要在数据库服务器上提供网站应用呢?对于windows服务器而言,多一个应用就意味着多一份被入侵的危险。经过更深入的分析发现,这台服务器上,根本就没有用到MSSQL数据库,那为什么还要安装MSSQL数据库呢?而且还是弱口令,正因为是弱口令,所以就可以轻松入侵这台服务器了。如果这台服务器上没有安装MSSQL数据库的话,还有其他办法入侵。这两台服务器都是教务处的,其运维配置基本一样,从MSSQL弱口令就可以看出,这说明,管理员的账号密码可能都是相同的,那通过入侵了这台服务器,可以在上面破解管理员账号的密码,然后用破解到的密码去登陆7.这我并没有尝试,因为我已经通过MSSQL弱口令入侵了,是不是相同的密码,只有管理员自己知道了。第七部分 入侵结束分析这台是数据库服务器,也就是说,这台服务器被入侵了之后,里面的信息全部可以随意修改,里面包括全校学生的基本资料、学习成绩、老师等的资料等等信息,如果这些资料被恶意篡改,例如修改成绩等,都是很大危害的,更严重的是,如果把这些老师学生的资料卖给诈骗团伙,后果更是不堪设想。至此,两台服务器被提权,对教务管理系统的入侵分析就结束了。第三章 素拓网的安全清远职业技术学院素拓管理系统,网址是:3089/QYPTST 是采用asp+access开发的管理系统,主要用于记录学生的素质拓展活动,其形式是学生参加一些社团或者学校等活动之后,再到这个网站申请添加这条记录,再由相关活动策划人审核,审核通过之后就会获得相应的分数。然后每个学期统计一次,用来作为学生的综合能力的评比的其中一个指标,素拓分高的,学校还有素拓奖学金发。因为涉及到金钱关系,所以这个网站的安全也是比较重要的。第一部分 信息收集Cache-ControlprivateContent-Length644Content-Typetext/htmlDateWed, 18 Apr 2012 12:07:27 GMTServerMicrosoft-IIS/6.0Set-CookieASPSESSIONIDCCDQRDCS=DBFBBGOCGBAIBIFJFGCNFJDJ; path=/X-Powered-ByASP.NET外网IP:3098内网IP暂时未知网络操作系统Windows Server 2003应用服务器软件平台IIS 6.0脚本语言ASP第二部分 信息分析这个管理系统,其实是跟教务系统同一台服务器的,也就是说,前面已经拿到了教务系统服务器的管理权限,那这个管理系统也“沦陷”了,通过直接修改数据库增加自己的素拓分,不过这种方法有点不可行,因为其系统流程是得通过审核才有分数的,如果直接修改自己的分数,没有相关的记录也是不行的。不过可以通过查看全部活动审核人的管理密码,这些管理密码在数据库中并没有加密过,都采用是明文记录的,那要添加对应的活动,用该活动审核人的账号登陆,让自己的申请通过就行了。如果服务器没有“沦陷”的情况下,这个网站也是不安全的,存在严重的SQL注入漏洞。所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如查询管理员密码等等。第三部分 入侵尝试通过SQL注入得到管理员密码之后登录,其后台有一处上传的地址,上传地址如下::3089/QYPTST/upload.asp?fuptype=pic&fupname=20111125122721&frmname=setup&bdname=path其实,这个上传页面根本没有验证用户登录信息,也就是说不用登录后台,可以直接通过这个地址上传这个上传地址是上传图片格式的,观察其网址里面的构造,看到这个参数 fuptype=pic&fupname=20111125122721 ,显而易见,fuptype=pic 说明的是上传的是图片格式的,fupname=20111125122721 这个说明上传后的文件名是这个。既然上传的这些值都是从参数获取,那我们就可以通过修改这些参数上传我们的后门。fuptype=pic 这个修改也是没有用的,因为上传的格式是网站程序限制了的,这里修改不会生效的,那我们就可以修改fupname=20111125122721 这个参数,利用IIS解析漏洞,修改成fupname=1.asp; 那把asp后门改成.jpg 格式的上传之后的文件名就是 1.asp;.jpg啦,刚刚好是IIS解析漏洞生效的文件名。:3089/QYPTST/upload.asp?fuptype=pic&fupname=1.asp;&frmname=setup&bdname=path上传页面上传成功之后看源码,得到上传后的地址。 :3089/QYPTST/updata/1.asp;.jpg上传之后的路径进入Webshell第四部分 入侵后分析可以通过分析upload.asp 这个源代码说明下。我会在文件上传%fuptype=session(fuptype)上传类型 fupname=session(fupname)文件名frmname=session(frmname)form名bdname=session(bdname) 表单名这些参数都是通过获取得到的,并不是程序自己定义的。if fuptype= or fupname= or frmname= thenresponse.write response.write alert(出现错误,请重新上传!);response.write location.href=javascript:history.go(-1);response.write response.endend if%0 thenfilename=fupname+.filenameend=file.filenamefilenameend=split(filenameend,.)n=UBound(filenameend)filename=filename&filenameend(n)if fuptypedb thenif file.fileSize1572864 thenresponse.write response.write alert(您上传的文件太大,上传不成功,单个文件最大不能超过1500K!);response.write location.href=javascript:history.go(-1);response.write response.endend ifend ifif fuptype=adv or fuptype=pic thenif LCase(filenameend(n)gif and LCase(filenameend(n)jpg and LCase(filenameend(n)doc and LCase(filenameend(n)xls and LCase(filenameend(n)rar and LCase(filenameend(n)zip and LCase(filenameend(n)txt thenresponse.write 看吧,上面的源代码都对上传的后缀做了判断,所以不能通过修改上传的格式来直接上传asp格式的后门。response.write alert(不允许上传您选择的文件格式,请检查后重新上传!);response.write location.href=javascript:history.go(-1);response.write response.endend ifend ifif fuptype=pic thensavepath=updata/&filenameend Iffile.saveAs Server.mappath(savepath)response.write 文件上传成功!上传文件的物理路径为:response.write &Server.mappath(savepath)&response.write 点击预览上传的文件response.write response.write opener.document.&frmname&.&bdname&.value=&Replace(savepath,./,)&;window.close();%elseresponse.write response.write alert(文件内容不能为空,单击“确定”返回上一页!);response.write location.href=javascript:history.go(-1);response.write response.endend ifset upload=nothingsession(fuptype)=session(fupname)=session(frmname)=% 整个文件都没有相应的用户验证代码,所以可以直接访问上传。登陆了asp后门之后获得webshell的权限,就可以下载数据了,那这个网站就是“沦陷”了第四章 系部网站的安全清远职业技术学院有好几个系部,每一个系部都有一个网站,这些网站的网址都是主域名后面加端口号加系部名称,例如护理系::5566/hl/ 信息科技系::5566/jsjx/ 食品药品系::5566/spyp/ 这些网站都是相同的端口号,可以确定,这些网站都是在同一个服务器上面的。既然这些网站都在同一个服务器上面,没有必要把全部的系部网站都检测一遍,就选一个代表性的来检测下,信息科技系,这个系部开设的专业都是与计算机相关的,与网络安全最为接近,如果连这个网站的安全也搞不好,那其他的网站的情况就更加不用说了。第一部分 信息收集HTTP头如下Accept-RangesbytesContent-EncodinggzipContent-Length3712Content-Typetext/htmlDateTue, 17 Apr 2012 11:49:15 GMTEtag83e98-3a4e-4b222128a3043Last-ModifiedSun, 20 Nov 2011 03:21:56 GMTServerApache/2.2.14 (Ubuntu)VaryAccept-Encoding得到该服务器的信息。外网IP:5566内网IP暂时未知网络操作系统Ubuntu应用服务器软件平台Apache 2.2.14然后访问系部网站首页,在首页没有找到其他开源产品的版权信息,访问robots.txt文件,看看能不能找到其他可以利用的信息。关于robots.txt,robots.txt是一个协议,是搜索引擎中访问网站的时候要查看的第一个文件。robots.txt文件告诉蜘蛛程序在服务器上什么文件是可以被查看的。一般,网站管理员会在这个robots.txt文件写成禁止搜索引擎收录后台或者其他敏感目录,但是也会被黑客利用到。Robots.txt文件第二部分 信息分析虽然没有得到后台之类的这些敏感目录,但是根据其robots.txt文件的结构,根据经验,可以确定是织梦CMS的开源产品,用扫描目录的工具,果然扫出了织梦CMS 的默认管理后台地址 /dede 。后台登陆界面,版权信息还保留着第三部分 入侵尝试用弱口令尝试登陆成功,在后台文件管理的地方直接上传一句话php后门文件。然后用菜刀连接成功。一句话连接成功其实,这个织梦CMS并不是最新版的,存在着一个严重的漏洞,在即使不用知道后台地址的情况下也可以直接拿到webshell。那说明网站管理员没有时刻留意所采用的开源系统的官方补丁,所以导致没有及时打上补丁,被别人入侵,被人入侵了这个网站之后,并不只是单单影响到这个网站,还影响到同服务器上其他的网站。这台服务器上的网站有各大系部的网站、网络中心网站、图书馆网站、党委办公室网站、公会网站等等重要网站,而且服务器上的权限没有限制死,这导致其中一个网站被入侵,其他网站也相当于是被入侵了。入侵了这个网站之后,在各目录中查找有利用价值的信息。然后在数据库连接文件中,找到了root账号的密码,网站居然是用root账号连接MYSQL的。在MYSQL里面,root权限是最大的,出于安全性考虑,网站连接MYSQL,不能用root账号,因为网站连接MYSQL的信息,明文存在网站源码中,网站被入侵后,直接查看数据库连接文件就能直接拿到root的密码,黑客利用root账号就可能对服务器进行提权。数据库连接文件第五章 网络中心网站的安全前面说到,网络中心网站是跟系部网站同一台服务器的,拿到了一个网站的webshell,也拥有了其他网站的权限,所以说网络中心的网站也相当于被入侵了。出于安全分析,这个网站也是采用织梦CMS二次开发的,也是没有打上最新的补丁,可以直接通过那漏洞直接拿到webshell,相关漏洞信息可以去官方看说明。这里要分析的不是这个,是分析网络中心网站里面的一个校园网账号密码修改系统。这个校园网账号密码修改系统,安全性我没有去分析,我是直接通过得到的webshell里面的目录浏览功能找到里面连接MYSQL文件的源代码。连接数据库文件这个网站是用来修改校园网账号密码的,那相当于,这个配置文件连接的是校园网账号认证服务器,那个数据库就保存着全校学生的上网账号信息。连接数据库,远程导出。导出来的数据校园网账号是学生用来上网的通行证,很多学生业余生活都是上网渡

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论