◆ 将用户输入作为循环计数器
检查是否可能让应用强制循环一段需要很多计算机资源的代码,目的是减弱总体性能。
◆ 将用户提供的数据写到磁盘
检查是否能通过在目标磁盘中写满日志来创造DoS 环境。
◆ 释放资源失败
检查应用程序在使用后是否适当的释放资源(文件或内存)。
◆ 存储过多会话数据
检查是否可以通过向用户会话分配大数量的数据来耗尽内存资源。
WEB服务测试
SOA(面向服务体系结构)/Web服务应用程序是日渐重要的系统,它们可以使作业交互。同时它们以前所未有的速度在发展着。Web 服务“客户”不是网络前段而是后端服务器。Web 服务跟其它服务一样是暴露于网络的,但是可以在其它传输协议HTTP,FTP,SMTP,MO上使用。Web 服务框架在连接XML,SOAP,WSDL和UDDI技术中利用HTTP 协议(作为标准网络应用程序)。
Web服务中的漏洞跟别的漏洞类似,比如SQL注入,信息暴露和泄漏,但是这里将会讨论到Web 服务独特的与漏洞有关的XML/解析器。以下描述了Web服务测试:
◆ WS信息收集
◆ WSDL测试
◆ XML结构测试
◆ XML内容级别测试
◆ HTTP获取参数/REST测试
◆ 淘气的SOAP附件
◆ 回放测试
AJAX测试
使用AJAX技术可以极大提高web对应用程序的操作性。然而从安全的观点看,AJAX应用程序比正常的Web应用程序存在更大的攻击面,并且开发他们的重点在于能够做些什幺,而不是应该做些什幺。另外,由于程序是在客户端和服务器运行的,因此AJAX应用程序更复杂。使用框架掩盖这种复杂性可以帮助减少其开发的问题,但也可会导致开发者不能充分了解代码执行的具体位置。这可能导致很难正确地评估与特定应用程序或功能相关的风险。
渗透测试的基本步骤
渗透测试的基本步骤分为以下四步:
1、确定关注的安全方面
2、收集相关信息
3、使用主动攻击模式中的技术进行测试
4、评估实际风险并撰写报告
确定关注的安全方面
确定最需要关注的安全风险类型,在这个范围内进行安全测试。
收集相关信息
参见前面的“被动模式阶段”一节内容。
使用主动攻击模式中的技术进行测试
参见前面的“主动模式阶段”一节内容。
评估实际风险并撰写报告
根据风险分级标准对实际风险进行评估,并撰写安全测试报告。