SQL注入测试-业务安全测试实操(10)

SQL注入测试

测试原理和方法


SQL注入就是通过把SQL命令插入Web表单提交或输入域名页面请求的查询字符串最终达到欺骗服务器执行恶意的SOL命令的目的。具体来说,它是利用现有应用程序,将(恶意)SOL命令注入后台数据库引擎执行的能力,它可以通过在Web表单中输入 (恶意)SOL 语句获取一个存在安全漏洞的网站上的数据库权限,而不是按照设计者的意图去执行SOL语句。下面通过一个经典的万能密码登录案例深入浅出地介绍SOL注入漏洞。SOL注入按照请求类型分为: GET型、POST型、Cookie注入型。GET与POST两种类型的区别是由表单的提交方式决定的。按照数据类型可分为:数字型和字符型(数字也是字符,严格地说就是一类,区别在于数字型不用闭合前面的SQL语句,而字符型需要闭合)。测试方法分为报错型、延时型、盲注型、布尔型等。数字型注入 (一般存在于输入的参数为整数的情况下,如 ID、年龄等) 测试方法如
第一步:正常请求,查看页面。
第二步:在请求的参数后加and 1=1,如果可以添加执行,则和第一步的返回页面并无差异。
第三步:在请求参数后加and 1=2,如果返回页面与第二步页面明显不同,或有所差异,则断定存在数字型注入。
字符型注入(一般存在于接收的参数为字符串的情况下,如姓名、密码等) 测试方法如下
第一步: 正常请求查看页面(如查询admin用户信息,则返回admin用户的信息)。

第二步:在查询的参数后加’or 1=1(有时可以加--来注释后面的语句),加单引号的目的是闭合前面的SOL语句并与后面的语句形成语法正确的SOL语句。如果可以添加并能够执行,则返回除 admin 用户外所有用户的信息。这时可以判断存在字符型注入。

  测试过程

攻击者确定疑似的数字型注入链接,按照数字型手

猜你喜欢

转载自blog.csdn.net/luozhonghua2014/article/details/131252456