sql注入的含义
sql注入是将代码插入(拼接)到应用(用户)的输入参数中,
之后再将这些参数传递给后台的SQL服务器加以解析并执行的攻击,
总结起来就是攻击者将恶意代码拼接到sql语句并加以执行从而得到数据的过程。
成因
sql语句对用户参数进行严格的过滤
可引发注入的地方
其实只要是客户端可控、参数值代入数据库查询的地方都有可能存在注入
常见的如下,按出现频率排序:
1.GET
2.POST
3.X-Forwardde-For
4.COOKie
5.User-Agent
注入分类
1.可联合查询注入
只要页面有显示位即可使用,且注入速度很快
2.报错注入
没有显示位用echo"mysql_error()"输出了错误信息,速度很快,但语句较复杂
3.布尔注入
一次一个字节,速度很慢,但只要有注入就能用
4.基于时间延迟注入
超级慢,比布尔注入慢几倍,但通用性较强
5.多语句查询
只有sql Server可以使用