Web应用安全测试方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1Web安全测试技术方案
1.1测试的目标
●更好的发现当前系统存在的可能的安全隐患,避免发生危害性的安全事件
●更好的为今后系统建设提供指导和有价值的意见及建议
1.2测试的范围
本期测试服务范围包含如下各个系统:
●Web系统:
1.3测试的内容
1.3.1WEB应用
针对网站及WEB系统的安全测试,我们将进行以下方面的测试:
☑Web 服务器安全漏洞
☑Web 服务器错误配置
☑SQL 注入
☑XSS(跨站脚本)
☑CRLF 注入
☑目录遍历
☑文件包含
☑输入验证
☑认证
☑逻辑错误
☑Google Hacking
☑密码保护区域猜测
☑字典攻击
☑特定的错误页面检测
☑脆弱权限的目录
☑危险的 HTTP 方法(如:PUT、DELETE)
1.4测试的流程
方案制定部分:
获取到客户的书面授权许可后,才进行安全测试的实施。并且将实施范围、方法、时间、人员等具体的方案与客户进行交流,并得到客户的认同。
在测试实施之前,让客户对安全测试过程和风险知晓,使随后的正式测试流程都在客户的控制下。
信息收集部分:
这包括:操作系统类型指纹收集;网络拓扑结构分析;端口扫描和目标系统提供的服务识别等。采用商业和开源的检测工具(AWVS、burpsuite、Nmap等)进行收集。
测试实施部分:
在规避防火墙、入侵检测、防毒软件等安全产品监控的条件下进行:操作系统可检测到的漏洞测试、应用系统检测到的漏洞测试(如:Web应用),此阶段如果成功的话,可能获得普通权限。
安全测试人员可能用到的测试手段有:扫描分析、溢出测试、口令爆破、社会工程学、客户端攻击、中间人攻击等,用于测试人员顺利完成工程。在获取到普通权限后,尝试由普通权限提升为管理员权限,获得对系统的完全控制权。此过程将循环进行,直到测试完成。最后由安全测试人员清除中间数据。
分析报告输出:
安全测试人员根据测试的过程结果编写直观的安全测试服务报告。内容包括:具体的操作步骤描述;响应分析以及最后的安全修复建议。
下图是更为详细的步骤拆分示意图:
1.5测试的手段
根据安全测试的实际需求,采取自动化测试与人工检测与审核相结合的方式,大大的减少了自动化测试过程中的误报问题。
1.5.1常用工具列表
●自动化扫描工具:AWVS、OWASP ZAP、Burpsuite等
●端口扫描、服务检测:Nmap、THC-Amap等
●密码、口令破解:Johntheripper、HASHCAT、Cain等
●漏洞利用工具:MetasploitFramework等
●应用缺陷分析工具:Burpsuite、Sqlmap等
1.6测试的风险规避
在安全测试过程中,虽然我们会尽量避免做影响正常业务运行的操作,也会实施风险规避的计策,但是由于测试过程变化多端,安全测试服务仍然有可能对网络、系统运行造成一定不同程度的影响,严重的后果是可能造成服务停止,甚至是宕机。比如渗透人员实施系统权限提升操作时,突遇系统停电,再次重启时可能会出现系统无法启动的故障等。
因此,我们会在安全测试前与客户详细讨论渗透方案,并采取如下多条策略来规避安全测试带来的风险:
1.6.1需要客户规避的风险
1.6.1.1备份策略
为防范安全测试过程中的异常问题,测试的目标系统需要事先做一个完整的数据备份,以便在问题发生后能及时恢复工作。
对银行转帐、电信计费、电力调度等不可接受可能风险的系统的测试,可以采取对目标副本进行渗透的方式加以实施。这样就需要完整的复制目标系统的环境:硬件平台、操作系统、应用服务、程序软件、业务访问等;然后对该副本再进行安全测试。
1.6.1.2应急策略
测试过程中,如果目标系统出现无响应、中断或者崩溃等情况,我们会立即中止安全测试,并配合客户技术人员进行修复处理等。在确认问题、修复系统、防范此故障再重演后,经客户方同意才能继续进行其余的测试。