目录
前言
这篇文章记录我搭建搜索型SQL注入漏洞的环境,以及如何利用该漏洞进行攻击的过程。并实现针对该漏洞的防范方法。
漏洞原理分析
实例讲解:
1.搜索型注入漏洞产生的原因:
在搭建网站的时候为了方便用户搜索该网站中的资源,程序员在写网站脚本的时候加入了搜索功能,但是忽略了对搜索变量的过滤,造成了搜索型注入漏洞,又称文本框注入。
2.搜索型注入的类型:
同其他注入类型相同,由于提交表单的不同,可分为GET型(多出现于网站上的搜索)和POST型(多出现于用户名的登录搜索匹配),搜索型注入是国内系统中普遍存在的漏洞。
3.原理分析
select username,id,email from member where username like '%$name'and 1=1 and '%'='%'
这句SLQ语句就是基于用户输入的name的值在表member中搜索匹配username,但是如果输入 'and 1=1 and '%'=' 就变成了
select username,id,email from member where username like '%$name'and 1=1 and '%'='%'
就存在了SQL注入
4.搜索型注入的判断方法:
- 搜索keywords‘,如果出错的话,有90%的可能性存在漏洞;
- 搜索 keywords%,如果同样出错的话,就有95%的可能性存在漏洞;
- 搜索keywords% 'and 1=1 and '%'='(这个语句的功能就相当于普通SQL注入的 and 1=1)看返回的情况
- 搜索keywords% 'and 1=2 and '%'='(这个语句的功能就相当于普通SQL注入的 a