n 测试目的:
测试网站是否存在SQL注入漏洞。
n 测试用例:
1) Scan settings选择sql injection策略;
2) 输入扫描网站URL,一直下一步(如果需要登陆点击New Login Sqquence);
3) 如果扫描结果如下显示,则网站不通过;
5) 针对get形式url中存在多个参数,可以通过-p选项指定。
n 测试目的:
测试网站是否存在SQL注入漏洞。
n 测试用例:
1) POST型注入往往存在于搜索框、表单提交、注册页面、登陆页面等
2) 在类似搜索框、表单提交、注册页面、登陆页面等地方提交信息后,结合Burpsuite进行抓包
3) 抓包拦截,将可能存在SQL注入的post报文copy to file进行保存
4) 使用SQLMap命令,执行sqlmap.py –r 1.txt –level 3 –dbs
5) 观察结果,如果能获取数据库版本信息、数据库名称列表,则不通过。
n 测试目的
测试网站是否存在SQL注入漏洞。
n 测试用例
6) 观察参数的值value是否为数字型。如果是数字型进行数字型测试,否则跳到第4步进行字符型测试(例如如果出现a那说明是字符型,如果出现2则将其当做数字型测试)
7) 将被测参数后加上测试语句“and 1=1”,即:地址栏中填入“http://www.exmaple.com/page.xxx?name=value and 1=1”, 如果返回正确页面则进行下一步操作,否则跳到第4步。
8) 将被测参数后加上测试语句“and 1=2”(这里以第n个参数为例),其他参数保持不变,即:地址栏中填入“http://www.exmaple.com/page.xxx? name=value and 1=2”, 如果返回正确页面则进行下一步操作,否则该参数存在注入漏洞,完成测试
9) 将被测参数后加上测试语句“’ and ‘1’=’1”,即:地址栏中填入“http://www.exmaple.com/page.xxx? name=value’ and ‘1’=’1”, 如果返回正确页面则进行下一步操作,否则该参数存在注入漏洞,完成测试
10) 将被测参数后加上测试语句“’ and ‘1’=’2”,即:地址栏中填入“http://www.exmaple.com/page.xxx? name=value’ and ‘1’=’2”, 如果返回正确页面则不存在漏洞,否则该参数存在注入漏洞,完成测试
n 测试目的
测试网站是否存在SQL注入漏洞。
n 测试用例
11) 、应用程序经常使用通用的错误页面来替换数据库错误,不过即使出现通用错误页面,也可以推断SQL注入是否可行;
12) 、通过提交给WEB应用的URL、表单数据中插入单引号、’\等人为探测字符;
13) 、如果正常操作显示正常,步骤二操作WEB服务器给出指定错误页面,则证明网站存在SQL盲住漏洞。
n 测试目的
测试网站是否存在SQL注入漏洞。
n 测试用例
1) 带副作用的查询,可以通过即时攻击,例如Micrsoft SQL Server中,可使用下列SQL代码来产生一次5秒的暂停;
2) WAITFOR DELAY ‘0:0:5’;
3) 针对mysql数据库可以使用sleep(5)函数;
4) 观察输入带有即时攻击语句后,查询页面是否产生延迟,如果存在测试不通过。
3.4、SQL盲注测试(拆分与平衡)
n 测试目的
测试网站是否存在SQL注入漏洞。
n 测试用例
1) 如果通用的错误或带副作用的不起作用,可以尝试“参数拆分与平衡”技术
2) 例如访问http://www.example.com/index.asp?id=5页面,查看页面内容;
3) 再次访问页面,id=5修改为2+3,5-0,观察页面内容是否一致?
4) http://www.example.com/index.asp?id=5-0
5) http://www.example.com/index.asp?id=2+3
6) 如果显示页面一样则存在SQL盲注漏洞。