逻辑语句:or,and
1, and的优先级高于or
原理:
1, 注入的是sql语句
2, 用户不可控----web站点管理者不可控
3, 注入sql语句让原始查询语句语义发生改变
万能密码----核心是注释掉passwd字段------利用or让where后面语句变为真
分类
按数据类型分类:
1, 数字型
2, 字符型
闭合:①判断字符串的表现方式(单引号,双引号,原括号)
-------模糊测试
按数据的获取方式来分:
1, 报错注入:会使用报错函数
2, 回显注入:DB中查询结构直接显示
回显的核心:union select Union连接的两个语句必须满足列数相同 判断列数使用order by 判断回显
原始查询语句置空
用 select1,2,3
3, 盲注:
1, 时间盲注
Sleep();
2, 布尔盲注
Sqlmap:
sqlmap -u “http://www.xx.com?id=x” 【查询是否存在注入点
–dbs 【检测站点包含哪些数据库
–current-db 【获取当前的数据库名
–tables -D “db_name” 【获取指定数据库中的表名 -D后接指定的数据库名称
–columns -T “table_name” -D “db_name” 【获取数据库表中的字段
–dump -C “columns_name” -T “table_name” -D “db_name” 【获取字段的数据内容
7.sqlmap -u “http://www.xx.com?id=x” --cookie “cookie” --level 2 【cookie注入 后接cookie值
防范:
1, 报错信息放在日志中。
2, 页面跳转