网站地图    收藏   

主页 > 后端 > 网站安全 >

一份XXXX有限公司网站系统渗透测试报告 - 网站

来源:自学PHP网    时间:2015-04-17 11:59 作者: 阅读:

[导读] 2011年3月2日目录一、概述 31.1渗透测试范围 31.2渗透测试主要内容 3二、脆弱性分析方法 42.1工具自动分析 4三、渗透测试过程描述 53.1脆弱性分析综述 53.2脆弱性分析统计 53.3网站结构分析...

2011年3月2日

 

目  录

一、概述 3

1.1 渗透测试范围 3

1.2 渗透测试主要内容 3

二、脆弱性分析方法 4

2.1工具自动分析 4

三、渗透测试过程描述 5

3.1脆弱性分析综述 5

3.2脆弱性分析统计 5

3.3网站结构分析 6

3.4目录遍历探测 6

3.5隐藏文件探测 8

3.6备份文件探测 8

3.7 CGI漏洞扫描 9

3.8用户名和密码猜解 9

3.9 验证登陆漏洞 10

3.10 跨站脚本漏洞挖掘 11

3.10 SQL注射漏洞挖掘 12

3.11数据库挖掘分析 17

四、分析结果总结 18

一、概述

按照江苏电信网上营业厅渗透测试授权书时间要求,我们从2011年2月15日至2011年2月某25期间,对网上营业厅官方网站系统http://www.*.js.ct10000.com进行了全面细致的脆弱性扫描,同时结合南京青苜信息技术有限公司安全专家的手工分析,两者汇总得到了该分析报告。

1.1 渗透测试范围

此次渗透测试的主要对象包括:

网上营业厅官方网站。

注:所有本报告中描述的测试过程和测试漏洞都是针对江苏电信网上营业厅官方网站系统。

1.2 渗透测试主要内容

在本次渗透测试过程中,南京青苜信息技术有限公司通过对网上营业厅网站结构分析,目录遍历探测,隐藏文件探测,备份文件探测,CGI漏洞扫描,用户和密码猜解,跨站脚本分析,SQL注射漏洞挖掘,数据库挖掘分析等几个方面进行测试,得出了网上营业厅网站系统存在的安全风险点,针对这些风险点,我门将提供网上营业厅安全加固建议。

 

 

二、脆弱性分析方法

2.1工具自动分析

2.1.1工具自动分析机制

由于WEB程序语言遵循CGI接口规范,因此WEB漏洞主要体现在程序对输入的处理上面。而WEB应用扫描软件则是根据这个特点,通过发送精心构造的请求,并且对服务器返回的响应来判断服务器是否存在指定的WEB漏洞。基于这个原因,WEB应用扫描软件应该可以发现包括XSS、SQL Injection和缓冲区溢出在内的大部分常见的WEB漏洞。

2.1.2工具自动分析过程

WEB应用扫描软件首先对目标站点进行分析,获取目标应用系统的组织结构,然后找出可能存在问题的程序,并且获取这些程序允许的参数输入,然后根据知识库中的内容,精心构造一些特殊的请求,然后发送给服务器,并且最终服务器会把请求交给该程序处理,通过分析服务器返回的响应,我们就可以判断出目标应用系统存在什么漏洞,漏洞位于什么程序,是哪个参数出现了问题。同时,对于无法准确判断结果的程序,我们的WEB应用扫描软件提供了交互式漏洞挖掘工具,可以准确判断目标应用系统是否存在安全漏洞。

2.1.3本次分析工具介绍

本次分析使用的自动分析工具为国际上的著名应用安全产品Sanctum公司(以色列)的AppScan V4.0(http://www.sanctuminc.com/) 评估系统,可以对各种已知及未知、应用程序特有及普遍存在的漏洞进行评估,并能够分析并且学习每一个Web应用独特的个性,通过组合变化各种攻击特征,测试并验证目标系统的脆弱性。

 

三、渗透测试过程描述

3.1工具扫描脆弱性分析综述 

南京青苜信息技术有限公司本次对网上营业厅官方网站系统http://www.*.js.ct10000.com进行了细致的扫描工作,发现部分明显的安全漏洞。

3.2工具扫描脆弱性分析统计 

根据漏洞类别进行统计,如下所示:

 

漏洞类别

风险值

网站结构分析

0

目录遍历探测

0

隐藏文件探测

0

备份文件探测

0

CGI漏洞扫描

0

用户和密码猜解

0

跨站脚本分析

0

SQL注射漏洞挖掘(含数据库挖掘分析)

0

风险总值

0

 

注:通过工具分析没有发现XXXX网站系统的存在的安全漏洞。

3.3网站结构人工分析

通过对网站进行智能搜索扫描和结构分析,发现XXXX网站使用两种web服务、两种脚本语言和两种数据库,分别是iis6+asp+Access和apache tomcat+jsp+oracle,分别跑在80和8080两个端口上,另外通过扫描可以看出网站使用的windows 2003的操作系统,由于近期并有针对windows 2003和iis6以及apache可以利用的安全漏洞,所以从端口上看在系统层上是没有有利用价值的漏洞,因此,我们只能从asp和jsp脚本上对网站进行渗透测试,并最终发现了脚本存在的漏洞,并利用这些漏洞进入XXXX网站后台系统。

3.4目录遍历人工探测

通过遍历每个存在的目录,智能搜索并探测除公开网页中包含的所有目录以外,是否存在非授权不能访问却被访问的目录。这些目录很有可能就是网站管理员后台程序所在目录或者是数据库所在目录。如果这些目录没有做好权限设置,那么极有可能导致网站后台失陷于此。

3.4.1 apache tomcat存在漏洞

通过XX公司安全人员对apache tomcat手工测试发现,XXXX网站由于配置原因存在目录过滤不严,可浏览任意web目录漏洞如下:

1. http://www.XXXXXX.com:8080/XXXXXX/Library/  

2. http://www.XXXXXX.com:8080/XXXXXX/doc/database/

3. http://www.XXXXXX.com:8080/manager/

4. http://www.XXXXXX.com:8080/XXXXXX/

5. http://www.XXXXXX.com:8080/tphealth/yw/

6. http://www.XXXXXX.com:8080/tphealth/include/

7. http://www.XXXXXX.com:8080/card/yw/

其中http://www.XXXXXX.com:8080/XXXXXX/doc/database/目录下有oracle数据库配置文件见下图:

 

点击查看原图

                              图一:数据库配置文件图

 

 

 

3.4.2可能的安全危害

这是Web服务器常见的Apache设置错误,恶意用户可以读取任意可读文件。

3.4.3解决方案建议

在目录下放置Apache默认访问页面,或者修改Apache配置文件,禁止目录遍历。

3.5隐藏文件人工探测

通过隐藏文件的智能探测,除了已有的所有公开页面以外,智能搜索并探测在这些目录下是否存在隐藏文件。这些文件很有可能就是网站的一些配置文件,或者是网站管理员忘记删除的程序说明书,或者是网站后台登陆的重要文件。这些文件极有可能导致网站重要数据的泄漏,最终导致整个网站权限的沦陷。

3.5.1探测结果

没有发现隐藏文件。

 

3.6备份文件人工探测

通过备份文件的智能探测,除了已有的所有公开页面以外,智能搜索并探测在这些目录下是否存在备份文件。这些文件很有可能就是网站的一些重要文件的备份信息,或者是网站管理员忘记删除的网站数据库备份。这些文件是最有可能导致网站重要数据的泄漏的风险点,直接威胁着整个网站的整体安全。

3.6.1探测结果

在本次扫描分析中,发现了0个备份文件。

 

3.6.2可能的安全危害

无。

3.6.3解决方案建议

及时删除备份文件。

这种类型的漏洞通常是导致服务端脚本文件源代码的暴露,或者是程序的任意执行等等。同时,由于这类已知的CGI漏洞利用技术都是很成熟了的,所以对网站的安全也有较大的威胁。

 

3.7.1扫描结果

通过对WEB服务器进行已知的CGI漏洞扫描,并未发现CGI漏洞。

3.7.2可能的安全危害

无。

3.7.3解决方案建议

及时安装WEB服务器的安全补丁。

3.8用户名和密码猜解

通常,网站是不提供内部用户注册的,但是由于内部用户的粗心大意留下了简单密码的帐户,导致外部人员可以使用内部功能。于此同时,内部功能上的风险也暴露给了外部人员。

 

3.8.1分析结果

通过对网站中存在的FORM表单进行用户名和简单密码猜解,没有发现存在存在问题。

3.8.2可能的安全危害

导致外部用户可以登陆管理员后台,使用高权限功能,并造成内部功能缺陷的暴露。

3.8.3解决方案建议

使用强壮的帐号密码。

3.9 验证登陆漏洞

经过测试我们发现用户保单查询页面,在保单查询登陆认证方法二中,输入`or 1=1--可以绕过登陆验证,可以任意查询客户信息,详见下图:

 

3.9.1可能的安全危害

能够未授权得到XXXX所有被保客户信息。容易信息泄漏和对客户商业机密产生影响。

3.9.2解决方案建议

建议增加对提交脚本的长度和特殊字符过滤,同时对文件目录的权限进行配置。

 

3.10 跨站脚本漏洞人工挖掘

跨站类型的漏洞通常是出现在用户和服务器进行信息交互的接口处,这种漏洞使用户访问服务器的时候执行恶意代码,可以直接导致用户数据的泄漏,最终不但有损网站的信誉度,同时还威胁到服务器的安全性。

3.10.1漏洞挖掘结果

通过对该类型漏洞的挖掘,共发现1个跨站脚本漏洞。

漏洞详细情况描述如下:

通过对jsp脚本的漏洞测试,我们发现其中有一处有XSS漏洞,这样我们可以构造出一个内容,为hello弹出对话框进行测试 http://www.XXXXXX.com:8080/666%0a%0a<script>alert("HELLO");</script>666.jsp,如果我们构造的不是弹出对话框而是一个带有木马的网页,这样就可以发给管理员诱使管理员访问植入木马,具体详见见下图:

点击查看原图

 

1. 该漏洞存在于如下页面: http://www.XXXXXX.com:8080/666%0a%0a<script>alert("HELLO");</script>666.jsp

2. 该漏洞利用工作原理介绍:

当用户注册的时候,添加XSS跨站脚本代码,当管理员或其它用户查看该用户信息的时候,就会导致数据的泄漏等等。

3.9.2可能的安全危害

泄漏敏感数据。

3.9.3解决方案建议

在程序中检查参数的输入,进行关键字的过滤。

3.10 SQL注射漏洞人工挖掘

SQL注射类型的漏洞通常是出现在用户和服务器进行信息交互的接口处,这种漏洞使得服务器的后台数据库很有可能直接暴露出来,造成机密信息的泄漏。如果其中包含管理员的帐号信息,其危害也就不言而喻了。更重要的是站在网站用户的角度来说,这种问题的出现严重影响到了网站在客户心中的信誉度。

3.10.1漏洞挖掘结果

通过对该类型漏洞的挖掘,共发现2个SQL注射类型的漏洞。

漏洞一详细情况描述如下:

1. 漏洞存在的页面如下:http://claimds.XXXXXX.com/print/9_TpProCheck.jsp?CASENO=zero

2. 该漏洞利用工作原理介绍:

在i参数提交的时候,构造相关的SQL语句,改变数据库查询流程,达到获取数据库敏感资料。

 

通过对分站jsp脚本的测试,我们发现claimds.XXXXXX.com系统和主站jsp 使用的是一个oracle数据库,通过对其脚本测试我们发现一个注入点,该注入点可以得到数据库的信息;;另外,由于本次测试时间有限,如果测试时间足够的话,根据我们对这个漏洞的利用,我们就可以暴库,获得jsp脚本后台管理员密码,从而进入后台更改后台设置,甚至上传webshell。

 

3.10.2  eweb编辑器漏洞挖掘(最严重漏洞)

因为时间关系,XX公司安全人员没有选择利用jsp脚本对oracle进行暴库,所以我们把主要测试重心选择asp脚本,经过对asp脚本的测试发现,asp脚本目录下有eweb网站编辑器。

我们下载了一个eweb脚本编辑器对其代码进行分析,发现eweb脚本存在注入,通过这个漏洞我们添加一个名为antiwebeditor管理员,并登陆进入后台,具体可以参见我们的截图:

 

 通过对eweb编辑器的研究发现,可以通过其样式管理,把FLASH类型里的swf改成.asa文件保存,就可以通过样式管理上传后缀名为.asa的脚本木马了,见下图:

 

但是我们在上传的过程中eweb脚本出现了问题,脚本有错误不能上传文件,通过我们跟eweb客服了解,该问题是因为服务器上装了kaspersky杀毒软件,kaspersky对eweb低版本的脚本程序进行查杀导致木马文件不能上传,但该漏洞问题是存在的,通过修改木马文件后缀,可以避开kaspersky测查杀程序,并最终上传webshell成功。见下图:

 

3.10.2可能的安全危害

此2个漏洞可能的安全危害都为:未授权用户可能通过该漏洞获取数据库敏感资料,造成敏感信息泄漏,最终获取网站后台,上传WEBSHELL,控制网站。

 

3.10.3解决方案建议

针对此类型漏洞,应尽量过虑各种输入参数,如上述2个漏洞,应对“用户名”或“密码”,id这三个参数进行过虑。并且由于客户eweb编辑器文件本身存在安全漏洞,除非删除该文件,暂时没有更好解决方案。

 

3.11数据库漏洞挖掘人工分析

在使用MSSQL、MYSQL、Sybase和Oracle等常用数据库的时候,只要存在SQL注射漏洞,就能够通过这种漏洞对数据库中的信息进行挖掘,如果数据库服务器设置不当甚至可以导致数据库服务器被入侵。

 

3.11.1挖掘分析结果

通过利用已发现的SQL注射漏洞对服务器后台数据库进行数据的挖掘,发现本后台数据库类型为Oracle数据库。

 

3.11.2可能的安全危害

敏感数据泄漏。

3.11.3解决方案建议

由于数据库挖掘使用的是SQL服务器合法的语句,所以需要根治漏洞的根源,加固所有的外部脚本,避免产生SQL注入漏洞。

四、分析结果总结

通过XX公司通过这次测试可以看出,XXXX在网站安全上做了很多的工作,网站有防注入和篡改系统,但是XXXX只关注了防注入,但是对于到系统层上的安全如apache tomcat 浏览任意web目录漏洞并没有进行消除,并且虽然有防注入系统但是过滤并不是很严谨,我们还是在jsp脚本上找到一个注入点,从而可以达到爆库;另外这次能突破XXXX网站防护限制,并最终渗透测试成功,其中一个最主要原因,是因为XXXX使用了一个第三方产品eweb编辑器,由于eweb编辑器后台存在注入漏洞,使我们顺利的在后台添加了一个后台管理员,成功的控制了后台,可以对网站进行篡改设置是得到webshell。

因此,通过本次渗透测试,我们评定XXXX网站 http://www.XXXXXX.com 和 http://www.XXXXXX.com:8080的安全级别为“ >十分危险”。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论