安全测试方案.docx
- 文档编号:17060771
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:77
- 大小:739.01KB
安全测试方案.docx
《安全测试方案.docx》由会员分享,可在线阅读,更多相关《安全测试方案.docx(77页珍藏版)》请在冰点文库上搜索。
安全测试方案
安全测试方案
1文档设计目的
1.1设计概述
本测试主要包括主动模式和被动模式两种。
在被动模式中,测试人员尽可能的了解应用逻辑:
比如用工具分析所有的HTTP请求及响应,以便测试人员掌握应用程序所有的接入点(包括HTTP头,参数,cookies等);在主动模式中,测试人员试图以黑客的身份来对应用及其系统、后台等进行渗透测试,其可能造成的影响主要是数据破坏、拒绝服务等。
一般测试人员需要先熟悉目标系统,即被动模式下的测试,然后再开展进一步的分析,即主动模式下的测试。
主动测试会与被测目标进行直接的数据交互,而被动测试不需要。
1.2面对的可能威胁
保密性
网络窃听、窃取主机数据、窃取网络配置信息、窃取用户连接信息
完整性
对数据的篡改、特洛伊木马程序
可用性
终止用户进程攻击、带宽攻击、耗尽系统资源攻击、DNS欺骗攻击隔离主机
可追究性
伪装合法用户、数据伪造
2软件安全测试方法
2.1安全测试流程设计
2.2自动化Web漏洞扫描工具测试
自动化扫描工具只能检测到部分常见的漏洞(如跨站脚本、SQL注入等),不是针对用户代码的,也就是说不能理解业务逻辑,无法对这些漏洞做进一步业务上的判断。
往往最严重的安全问题并不是常见的漏洞,而是通过这些漏洞针对业务逻辑和应用的攻击。
Web目前分为application和Webservice两部分。
Application指通常意义上的Web应用,而Webservice是一种面向服务的架构的技术,通过标准的Web协议(如HTTP、XML、SOAP、WSDL)提供服务。
2.2AppScanapplication扫描测试
编号
测试用例名称
AppScanapplication扫描测试
测试目的
利用自动化的Web安全扫描工具AppScan进行扫描,以发现Web应用中存在的常见漏洞
用例级别
1
测试条件
1、已知Web服务器域名或IP地址
2、Web业务运行正常
3、测试用机上安装了AppScan
执行步骤
1、双击运行AppScan,选择file—new新建扫描,选择扫描模板default
2、弹出扫描配置对话框,选择扫描类型,默认为WebApplicationScan,点击next
3、在StartingURL中填入需扫描的目标服务器域名或IP地址,其他配置不需修改,点击next
4、选择NoLogin,点击next
5、不需修改任何参数,点击next
6、不需修改参数,选择Startafullautomaticscan,点击finish完成配置,开始扫描
7、扫描完成,保存扫描结果,并对结果进行分析
预期结果
经过对扫描结果分析,确认不存在“中等等级”及以上级别的漏洞。
备注
注意:
该用例的执行对被测系统的性能影响比较大,而且可能导致一些垃圾数据,建议只在测试环境执行。
由于自动化工具在很多情况下只是提示一种漏洞存在的可能,因此需要对所有的结果进行人工的分析判断。
分析过程参考以下章节的测试项,使用辅助工具或者是手动验证。
业界常用的自动化扫描工具还有WebInspcet,NStalker,AcunetixWebVulnerabilityScanner。
在有条件的情况下,可以综合使用。
测试结果
2.3AppScanWebService扫描测试
编号
测试用例名称
AppScanWebService扫描测试
测试目的
利用自动化的Web安全扫描工具AppScan进行扫描,以发现WebService中存在的漏洞
用例级别
1
测试条件
1、已知Web服务器域名或IP地址
2、Web业务运行正常
3、目标系统使用了WebService服务
4、测试用机上安装了AppScan
执行步骤
1、双击运行AppScan,选择file—new新建扫描,选择扫描模板default
2、弹出扫描配置对话框,选择扫描类型,默认为WebServiceScan,点击next
3、在StartingURL中填入需扫描的目标服务器域名或IP地址,其他配置不需修改,点击next
4、不需修改任何参数,点击next
5、不需修改任何参数,点击Finish完成配置,开始扫描
6、扫描完成,保存扫描结果,并对结果进行分析
预期结果
经过分析确认以后的扫描结果中不存在信息提示以上等级的漏洞。
备注
注意:
该用例的执行对被测系统的性能影响比较大,而且可能导致一些垃圾数据,建议只在测试环境执行。
由于自动化工具在很多情况下只是提示一种漏洞存在的可能,因此需要对所有的结果进行人工的分析判断。
测试结果
2.4服务器信息收集
2.4.1运行帐号权限测试
编号
测试用例名称
运行帐号权限测试
测试目的
运行Web服务器的操作系统帐号权限越高,那么Web遭到攻击产生的危害就越大。
因此,不应使用“root”、“administrator”、等特权帐号或高级别权限的操作系统帐号来运行Web,应该尽可能地使用低级别权限的操作系统帐号。
用例级别
1
测试条件
1、已知Web网站IP地址和OS登陆帐号、密码
执行步骤
1、登陆Web服务器操作系统
2、查看运行Web服务器的操作系统帐号,不是“root”、“administrator”等特权帐号或高级别权限帐号,如果是则存在漏洞。
•window:
打开任务管理器,选择“进程”页,勾选左下方的“显示所有用户的进程”,检查运行Web服务器的帐号;
•unix:
使用“ps–ef|grepjava”命令,返回结果第一列的操作系统用户就是运行Web服务器的帐号;
预期结果
没有使用“root”、“administrator”等特权操作系统帐号运行Web。
备注
测试结果
2.4.2Web服务器端口扫描
编号
测试用例名称
Web服务器端口扫描
测试目的
有时Web应用服务器除业务端口外还会开放一些默认端口(如Jboss开放的8083),这些默认端口对最终用户是不需要开放的,而且也不会用于维护,容易被攻击,本测试目的在于发现服务器上未使用的Web端口。
用例级别
1
测试条件
1、已知Web服务器域名或IP地址,假设IP地址为192.168.1.1
2、测试用机安装了nmap,假设路径为d:
\nmap
执行步骤
1、打开命令提示符,切换到nmap路径下,输入cd/dd:
\nmap
2、运行nmap–n–P0–sS–sV–p1-65535–oXscan_report.xml192.168.1.1
3、使用浏览器打开scan_report.xml
4、观察结果,看是否为必须开放的Web服务端口。
预期结果
系统未开放业务不需要使用的端口。
备注
各种参数扫描请参考《利用nmap进行端口扫描》
测试结果
2.4.3HTTP方法测试
编号
测试用例名称
开放HTTP方法测试
测试目的
有些Web服务器默认情况下开放了一些不必要的HTTP方法(如DELETE、PUT、TRACE、MOVE、COPY),这样就增加了受攻击面。
用例级别
1
测试条件
1、已知Web网站IP地址及Web访问端口
2、Web业务正常运行
执行步骤
1、点击“开始”-“运行”,输入cmd并回车,运行cmd.exe
2、输入telnetIP端口(其中IP和端口按实际情况填写,用空格隔开)
3、回车
4、在新行中输入如下一行,并回车
OPTIONS/HTTP/1.1
5、观察返回结果中的Allow的方法列表
返回结果样例:
HTTP/1.1200OK
Server:
Apache-Coyote/1.1
X-Powered-By:
Servlet2.4;JBoss-4.0.5.GA(build:
CVSTag=Branch_4_0date=200610162339)/Tomcat-5.5
Allow:
GET,HEAD,POST,PUT,DELETE,TRACE,OPTIONS
Content-Length:
0
Date:
Mon,29Jun200908:
02:
47GMT
Connection:
close
如果返回结果中包含不安全的HTTP方法(DELETE、PUT、TRACE、MOVE、COPY),则验证这些防范是否可用(参考3.2.4/3.2.5/3.2.6/3.2.7/3.2.8)
6、如果方法可用则说明存在漏洞,测试不通过。
预期结果
不包含不安全的HTTP方法(如DELETE、PUT、TRACE、MOVE、COPY)
备注
由于不同的Web服务器支持的HTTP协议版本不同,如果系统不支持HTTP/1.0,那么步骤4返回“HTTP/1.0400BadRequest”;这种情况下,应该更改步骤4的输入行为OPTIONS/HTTP/1.0
测试结果
2.4.4HTTPPUT方法测试
编号
测试用例名称
HTTPPUT方法测试
测试目的
有些Web服务器开放了PUT方法,攻击者能够通过该方法上传任意文件到Web服务器的一些目录中去。
包括Web木马程序。
用例级别
1
测试条件
1、已知Web网站IP地址
2、Web业务正常运行
3、测试用机安装了IISPUTScanner测试工具
执行步骤
1、运行IISPUTScanner.exe
2、在StartIP和EndIP输入框中输入Web服务器的IP地址,在Port输入框中输入对应的端口,选中“Trytouploadfile”和“Tryonothersystems”,如图:
3、点击Scan按钮
4、观察扫描结果
预期结果
工具的“PUT”栏的值不为“YES”,Web服务器上没有新创建的alert.txt文件(
备注
本测试适用于所有的Web服务器,不仅仅是IIS。
测试结果
2.4.5HTTPDELETE方法测试
编号
测试用例名称
HTTPDELETE方法测试
测试目的
有些Web服务器开放了DELETE方法,攻击者能够通过该方法删除Web服务器上的文件。
用例级别
1
测试条件
1、已知Web网站IP地址
2、Web业务正常运行
3、Web网站存在/alert.txt文件(如果没有,手工创建)
执行步骤
1、点击“开始”-“运行”,输入cmd并回车,运行cmd.exe
2、输入telnetIP端口(其中IP和端口按实际情况填写,用空格隔开,比如:
telnet10.70.100.180)
3、回车
4、在新行中输入如下一行,并回车
DELETE/alert.txtHTTP/1.0
5、查看Web服务器上alert.txt是否被删除
预期结果
Web服务器上alert.txt文件依然存在
备注
由于不同的Web服务器支持的HTTP协议版本不同,如果系统不支持HTTP/1.0,那么步骤4返回“HTTP/1.0400BadRequest”;这种情况下,应该更改步骤4的输入行为DELETE/index.jspHTTP/1.0
测试结果
2.4.6HTTPTRACE方法测试
编号
测试用例名称
HTTPTRACE方法测试
测试目的
有些Web服务器开放了TRACE方法(主要是用于客户端通过向Web服务器提交TRACE请求来进行测试或获得诊断信息),攻击者能够通过该方法构造跨站攻击。
用例级别
1
测试条件
1、已知Web网站IP地址
2、Web业务正常运行
执行步骤
1、点击“开始”-“运行”,输入cmd并回车,运行cmd.exe
2、输入telnetIP端口(其中IP和端口按实际情况填写,用空格隔开,比如:
telnet10.70.100.180)
3、回车
4、在新行中输入如下一行,并回车
TRACE/HTTP/1.0
5、观察返回结果
预期结果
Web服务器的返回信息提示Trace方法“notallowed”
备注
由于不同的Web服务器支持的HTTP协议版本不同,如果系统不支持HTTP/1.0,那么步骤4返回“HTTP/1.0400BadRequest”;这种情况下,应该更改步骤4的输入行为TRACE/HTTP/1.0
测试结果
2.4.7HTTPMOVE方法测试
编号
测试用例名称
HTTPMOVE方法测试
测试目的
有些Web服务器开放了MOVE方法,用于请求服务器将指定的页面移到另一个网络地址,该方法不安全,容易被利用。
用例级别
1
测试条件
1、已知Web网站IP地址
2、Web业务正常运行
执行步骤
1、点击“开始”-“运行”,输入cmd并回车,运行cmd.exe
2、输入telnetIP端口(其中IP和端口按实际情况填写,用空格隔开,比如:
telnet10.70.100.180)
3、回车
4、在新行中输入如下一行,并回车
MOVE/test/a.html/a.htmlHTTP/1.0
5、观察返回结果
预期结果
Web服务器的返回信息提示MOVE方法“notsupported”
备注
由于不同的Web服务器支持的HTTP协议版本不同,如果系统不支持HTTP/1.0,那么步骤4返回“HTTP/1.0400BadRequest”;这种情况下,应该更改步骤4的输入行为MOVE/test/a.html/a.htmlHTTP/1.1
测试结果
2.4.8HTTPCOPY方法测试
编号
测试用例名称
HTTPCOPY方法测试
测试目的
有些Web服务器开放了COPY方法,用于请求服务器将指定的页面拷贝到另一个网络地址,该方法不安全,容易被利用。
用例级别
1
测试条件
1、已知Web网站IP地址
2、Web业务正常运行
执行步骤
1、点击“开始”-“运行”,输入cmd并回车,运行cmd.exe
2、输入telnetIP端口(其中IP和端口按实际情况填写,用空格隔开,比如:
telnet10.70.100.180)
3、回车
4、在新行中输入如下一行,并回车
COPY/test/a.html/a.htmlHTTP/1.0
5、观察返回结果
预期结果
Web服务器的返回信息提示COPY方法“notsupported”
备注
由于不同的Web服务器支持的HTTP协议版本不同,如果系统不支持HTTP/1.0,那么步骤4返回“HTTP/1.0400BadRequest”;这种情况下,应该更改步骤4的输入行为COPY/test/a.html/a.htmlHTTP/1.1
测试结果
2.4.9Web服务器版本信息收集
编号
测试用例名称
Web服务器版本信息收集
测试目的
一些情况下,Web服务器能通过隐藏或者修改banner信息的方式防止黑客攻击。
这时候我们需要使用不依靠服务器Server标题头的扫描方式进行服务器类型、版本判断。
用例级别
4
测试条件
1、Web业务运行正常
2、已知Web服务器域名或IP地址
3、测试用机安装了httprint(Windows环境)
执行步骤
1、运行Httprint_gui.exe
2、在Host列中输入主机域名(如果没有域名则输入IP地址),在端口列中输入端口号。
如果为HTTPS则要选择锁图标下面的选择框。
3、点击程序下方的运行按钮
4、观察程序输出的结果
预期结果
不能够得到Web服务器准确的版本信息
备注
测试结果
2.5文件、目录测试
2.5.1工具方式的敏感接口遍历
编号
测试用例名称
工具方式的敏感接口遍历
测试目的
网站目录查找是进行攻击的必备知识,只有知道了目录信息才能确定攻击的目标,进行目录查找是测试的首要阶段,一般扫描工具进行扫描前首先要进行目录查找。
其次对于某些隐藏的管理接口(目录或文件),虽然没有对外有明显的链接,但是通过一系列有特定含义的枚举是可以访问的。
用例级别
2
测试条件
1、Web业务运行正常
2、已知目标网站的域名或IP地址
3、测试用机上需安装JRE
4、测试用机上有DirBuster软件
执行步骤
1、双击运行DirBuster.jar
2、在host栏中填入目标IP地址或域名,在Port栏中输入服务器对应的端口;如果服务器只接受HTTPS请求,则需要选择Protocol为HTTPS
3、在filewithlistofdirs/files栏后点击browse,选择破解的字典库为directory-list-2.3-small.txt
4、将Fileextension中填入正确的文件后缀,默认为php,如果为jsp页面,需要填入jsp
5、其他选项不变,点击右下角的start,启动目录查找
6、观察返回结果,可点击右下角的report,生成目录报告
预期结果
经过分析以后的结果中,业务系统不存在不需要对外开放的敏感接口,或者该接口进行了完善的权限控制。
备注
举一个测试不通过的例子:
Type
Found
Response
File
/admin/adduser.jsp
200
测试结果
2.5.2Robots方式的敏感接口查找
编号
测试用例名称
Robots方式的敏感接口查找
测试目的
为了防止搜索引擎的爬虫访问敏感的目录接口,服务器上可能会编辑一个robots.txt文件,内容为需要保护的文件或目录名称。
直接访问robots.txt文件能够获取一些可能的敏感接口
用例级别
2
测试条件
1、Web业务运行正常
2、已知待测目标URL,假设为
执行步骤
1、尝试访问
例如可能返回如下结果:
2、观察返回结果
预期结果
通过robots.txt文件不能获取敏感的目录或文件信息。
备注
敏感目录举例:
/employee/salary_files/
敏感文件举例:
/sys_manager/setup.jsp
测试结果
2.5.3Web服务器的控制台
编号
测试用例名称
Web服务器的控制台
测试目的
检查是否部署了Web服务器的控制台,控制台是否存在默认帐号、口令,是否存在弱口令。
用例级别
1
测试条件
1、Web业务运行正常
2、已知目标网站的域名或IP地址
3、已知Web服务器版本信息
执行步骤
1、根据Web服务器的版本信息,通过google查询其对应的控制台URL地址和默认的帐号、口令。
以下列出一些常见的Web服务器控制台URL地址和默认帐号、口令:
Tomcat控制台URL:
Tomcat控制台默认帐号admin,默认密码admin或空
Jboss控制台URL:
Jboss控制台URL:
Jboss控制台默认无须登陆,或者admin/admin
WebSphere控制台URL:
WebSphere默认帐号admin,默认密码admin
Apache控制台URL:
Axis2控制台URL:
Axis2控制台默认口令帐户:
admin/axis2
iSAP控制台URL:
iSAP控制台默认的帐号和密码:
admin/admin
“普元”管理控制台URL:
“普元”管理控制台默认的帐号和密码:
sysadmin/000000
2、在浏览器地址栏中输入Web服务器对应的URL。
由于不同的应用可能目录有所差异,如果访问不到,可以登陆后台服务器以find命令查找,比如find/-name“*console*”,find/-name“*admin*”,看看实际的URL应该是什么,再次尝试。
3、检查是否存在Web服务器控制台
4、如果存在控制台,使用默认帐号、口令登录,弱口令登录,查看是否登录成功,如果可以则存在漏洞。
预期结果
不存在Web服务器控制台,或者存在控制台但有强口令。
备注
弱口令例子:
123、123456、abc、huawei、admin、tellin、isap、scp等;另外,和用户名相同或非常接近的口令也属于弱口令,比如用户名为tomcat,口令为tomcat1。
测试结果
2.5.4目录列表测试
编号
测试用例名称
目录列表测试
测试目的
目录列表能够造成信息泄漏,而且对于攻击者而言是非常容易进行的。
所以在测试过程中,我们应当找出所有的目录列表漏洞。
用例级别
1
测试条件
1、Web业务运行正常
2、已知目标网站的域名或IP地址
3、测试用机上需安装JRE
4、测试用机上有DirBuster软件
执行步骤
1、双击运行DirBuster-0.9.8.jar
2、在host栏中填入目标IP地址或域名,在Port栏中输入服务器对应的端口;如果服务器只接受HTTPS请求,则需要选择Protocol为HTTPS
3、在filewithlistofdirs/files栏后点击browse,选择破解的字典库为directory-list-2.3-small.txt:
4、去除BurteForceFiles选项
5、其他选项不变,点击右下角的start,启动目录查找
6、依次右击Response值为200的行,在出现的菜单中点击OpenInBrowser
7、分析结果
预期结果
所有对目录的访问均不能打印出文件列表。
备注
测试结果
2.5.5文件归档测试
编号
测试用例名称
文件归档测试
测试目的
在网站管理员的维护过程中,很多情况下会对程序或者页面进行备份(可能是有意的或者是无意的,如ultraedit在修改后会生成文件名加bak后缀的文件)。
攻击者通过直接访问这些备份的路径可以下载文件
用例级别
1
测试条件
1、拥有运行Web服务器的操作系统帐号和口令
2、Web业务运行正常
执行步骤
1、登陆后台Web服务器的操作系统
2、以cd命令进入可以通过Web方式访问的目录(比如tomcat服务器的$home/webapps目录,jboss服务器的$home/jboss/server/default/deploy目录)
3、用find命令,查找是否存在以下备
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 安全 测试 方案