测试过程
在编写源代码和得到目标码的过程,应进行必要的安全性测试。安全测试过程包括测试计划、测试环境准备和执行安全测试输出测试报告。
测试计划
测试人员应首先理解应用系统安全需求,应用系统开发人员应配合测试人员理解应用系统安全需求和安全设计细节。
测试准备
在启动安全测试之前应做好测试前的各项准备,为测试人员提供符合要求的测试环境。
测试执行与结论
测试人员在执行安全测试过程中,发现系统安全功能缺陷和系统安全漏洞,记录相关信息的同时,应及时与应用系统开发人员沟通联系,进行问题确认和修复。
Web安全测试用例参考
▼▼SQL注入测试方法:可以提交数据给数据库的位置
类似asp?id=1的页面:判断方法在参数后提交and 1=1 ,and 1=2,如果and 1=1,返回正常页面,而and1=2,返回出错页面就有可能存在SQL注入,类似的方法也有提交单引号’根据页面的返回信息来判断。如一些SQL会返回出错提示,甚至暴露SQL类型等
一些账号密码提交的页面:在可能的情况下都是通过web提交页面的源代码来分析问题,一般测试情况下都是提交一些经典的SQL指令,如’or’’=’或’ or 1=1 -- 等。
如用户发表文章,论坛帖子编辑,提交一些可能执行的代码测试,或是在一些附件里,如flash,嵌入脚本代码测试,简单测试如:<script>alert('1234’)</script> 当没有过滤的页面被用户游览就会执行script代码,弹出一个1234的提示框。
▼▼应用层溢出检查方法:
▼▼帐户锁定检查方法:
▼▼弱口令检查方法:
▼▼输入验证检查方法:
输入超长字符,如对输入文字长度有限制,则尝试超过限制,刚好到达限制字数时有何反应。
输入与要求不同类型的字符,如: 要求输入数字则检查正值,负值,零值(正零,负零),小数,字母,空值; 要求输入字母则检查输入数字。
输入html和javascript代码。
▼▼上传控制检查方法:
上传文件是否有大小限制,上传太大的文件是否导致异常错误,上传0K的文件是否会导致异常错误,上传并不存在的文件是否会导致异常错误。
通过修改扩展名的方式是否可以绕过格式限制,是否可以通过压包方式绕过格式限制。
是否有上传空间的限制,是否可以超过空间所限制的大小,如将超过空间的大文件拆分上传是否会出现异常错误。
对于文件名中带有中文字符,特殊字符等的文件上传。
▼▼信息加密传输检查方法:
检查是否使用HTTPS连接,确保鉴别信息(或关键信息)是通过SSL加密传输的。
▼▼敏感信息存储检查方法:
检查源代码可以确定敏感信息是否加密存储。确保客户端与服务端敏感信息(如:口令等)加密存储。
▼▼应用错误消息检查方法:
联系客服