软件安全测试之SQL注入

安全测试之SQL注入

1、安全测试在项目整体流程中所处的位置

一般建议在集成测试前根据产品实现架构及安全需求,完成安全性测试需求分析和测试设计,准备好安全测试用例。在集成版本正式转测试后,即可进行安全测试。如果产品质量不稳定,前期功能性问题较多,则可适当推后安全测试执行。

2、安全测试在安全风险评估的关系说明

安全风险是指威胁利用漏洞对目标系统造成安全影响的可能性及严重程度。其中威胁是指可能对目标系统造成损害的潜在原因,包括物理环境威胁、人为威胁等。漏洞也称弱点,是应用系统本身存在的,包括系统实现中的缺陷、配置中的漏洞等。外部威胁利用系统的漏洞达到破坏系统安全运行的目的。

3、注意事项

安全测试的执行,对于被测系统,或多或少都会存在一些影响(比如性能、垃圾数据),只能在测试环境中进行;不允许在正式环境运行,避免系统存在漏洞导致丢失数据和数据库损坏。

本规范最主要目的是为了发现安全漏洞,至于发现一个漏洞以后更深一步的渗透测试在这里不会涉及。例如针对暴力破解测试,我们只给出验证存在暴力破解漏洞的可能,但不会提供暴力破解的方法。

本文档中所有提及的测试工具的使用,请遵循公司相关规定。

如果是内部试验环境进行测试,可以考虑去除一些防护措施或设备(如防火墙),这样能保证发现问题的全面性。

本文档根据最严格的方式对目标进行测试,如果项目系统对安全的要求不高且有自身的安全策略规定时,可以视情况对测试项进行部分测试。例如密码策略测试项中,测试人员可以根据测试目标的密码位数要求进行测试,而不需要完全依照测试项里面规定的位数进行测试。Web安全测试方法

安全测试之SQL注入

4、安全功能验证

功能验证是采用软件测试当中的黑盒测试方法,对涉及安全的软件功能,如:用户管理模块,权限管理模块,加密系统,认证系统等进行测试,主要验证上述功能是否有效,不存在安全漏洞,具体方法可使用黑盒测试方法。

4.1、漏洞扫描

漏洞扫描是指基于漏洞数据库,通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测,发现可利用的漏洞的一种安全检测(渗透攻击)行为。

漏洞扫描技术是一类重要的网络安全技术。它和防火墙、入侵检测系统互相配合,能够有效提高网络的安全性。通过对网络的扫描,网络管理员能了解网络的安全设置和运行的应用服务,及时发现安全漏洞,客观评估网络风险等级。网络管理员能根据扫描的结果更正网络安全漏洞和系统中的错误设置,在黑客攻击前进行防范。如果说防火墙和网络监视系统是被动的防御手段,那么安全扫描就是一种主动的防范措施,能有效避免黑客攻击行为,做到防患于未然。

4.2、模拟攻击实验

模拟攻击测试是一组特殊的黑盒测试案例,以模拟攻击来验证软件或信息系统的安全防护能力,可使用冒充、重演、消息篡改、服务拒绝等方法来实现。

4.3、侦听技术

在数据通信或数据交互过程,对数据进行截取分析的过程。目前最为流行的是网络数据包的捕获技术。

5、SQL注入案例分析

首先输入网址:http://demo.testfire.net/如下图:

安全测试之SQL注入

这个网址的正确用户名是:jsmith,密码:Demo1234

当前我们在用户名中输入:a’OR1=1–+

密码只需要随意输入,

然后单击【Login】,神奇的一幕出现了,居然登录成功了。为什么出现了这个问题呢?就是因为网站在登录代码编写的时候没有使用预编译对象。

6、那什么是SQL注入安全问题呢?

SQL注入是针对一种数据库而言的,而不是针对网页语言。在任何使用了数据库查询环境下都可能存在。常见的数据库包括:MSSQL、Oracle、Informix、Db2、Access、Sybase等。

所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

SQL注入受到的威胁,(但不限于)以下几种情况:数据泄漏、修改现有数据、插入新数据、任意的文件系统访问、任意的网络访问、系统泄漏。

针对不同的数据库系统使用的一些函数会有所不同,不过从测试是否存在SQL注入的角度考虑,只需要进行几个最基本的判断语句就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值