首页

SQL注入漏洞安全测试(WVS/POST型/手工SQL注入)

标签:WVS自动化SQL注入,SQLMAP自动化,POST型SQL注入,手工SQL注入     发布时间:2018-12-20   

1、WVS自动化SQL注入测试

n  测试目的:

测试网站是否存在SQL注入漏洞。

n  测试用例:

1)     Scan settings选择sql injection策略;

2)     输入扫描网站URL,一直下一步(如果需要登陆点击New Login Sqquence);

3)     如果扫描结果如下显示,则网站不通过;

SQL注入漏洞安全测试(WVS/POST型/手工SQL注入)

SQL注入漏洞安全测试(WVS/POST型/手工SQL注入)

  

5)     针对get形式url中存在多个参数,可以通过-p选项指定。

2、WVS自动化SQL注入测试POST型SQL注入测试

n  测试目的:

测试网站是否存在SQL注入漏洞。

n  测试用例:

1)     POST型注入往往存在于搜索框、表单提交、注册页面、登陆页面等

2)     在类似搜索框、表单提交、注册页面、登陆页面等地方提交信息后,结合Burpsuite进行抓包

3)     抓包拦截,将可能存在SQL注入的post报文copy to file进行保存

SQL注入漏洞安全测试(WVS/POST型/手工SQL注入)

 SQL注入漏洞安全测试(WVS/POST型/手工SQL注入)

 

4)     使用SQLMap命令,执行sqlmap.py –r 1.txt –level 3 –dbs

5)     观察结果,如果能获取数据库版本信息、数据库名称列表,则不通过。

3、手工SQL注入测试

3.1、常规SQL注入测试

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”, 如果返回正确页面则不存在漏洞,否则该参数存在注入漏洞,完成测试

3.2、SQL盲注测试(强制产生通用错误)

n  测试目的

测试网站是否存在SQL注入漏洞。

n  测试用例

11)   、应用程序经常使用通用的错误页面来替换数据库错误,不过即使出现通用错误页面,也可以推断SQL注入是否可行;

12)   、通过提交给WEB应用的URL、表单数据中插入单引号、’\等人为探测字符;

13)   、如果正常操作显示正常,步骤二操作WEB服务器给出指定错误页面,则证明网站存在SQL盲住漏洞。

3.3、SQL盲注测试(注入带副作用的查询)

n  测试目的

测试网站是否存在SQL注入漏洞。

n  测试用例

1)     带副作用的查询,可以通过即时攻击,例如Micrsoft SQL Server中,可使用下列SQL代码来产生一次5秒的暂停;

2)     WAITFOR DELAY ‘0:0:5’;

SQL注入漏洞安全测试(WVS/POST型/手工SQL注入)

 

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盲注漏洞。

  • ◆ 相关内容