简单的sql注入1

本文详细描述了一次CTF挑战中利用SQL注入技术获取FLAG的过程。首先通过测试发现存在注入点,然后绕过关键字过滤和空格过滤。通过database()获取数据库名,利用information_schema查询表名,接着确定字段,最终成功读取到FLAG。

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

通过sql注入得到flag

题目:http://ctf5.shiyanbar.com/423/web
打开题目:
在这里插入图片描述
先随便输了些数字,发现只有1、2、3查询结果

接下来进行第一步测试

输入一个带单引号的数据,目的是测试是否存在注入点,输入1’发现报错,说明此处存在注入点。且后台代码应该是一般的seletc语句,可以通过开闭合单引号来进行注入。
输入1 and 1=1发现id后显示1 1=1说明存在过滤。

第二步关键字过滤

看到过滤,就随便输了些语句,发现空格、union、select等等的语句关键词都被过滤了,测试时我发现输入1’select’,会报错,而输入1’select '不会,说明select关键词是否被过滤,与其后面的空格有关,那么我们只需要绕过这个空格过滤就可以了

第三步空格过滤

绕过空格过滤的方法有很多:+、%0a、%0b、/**/等等,这里我用的是最后一种 。

开始注入
1、数据库名

在报错时就可以看到是MYSQL,因此用database()来获取当前数据库名
输入:

1'union/**/select/**/database()'

我们能够得到数据库名为web1

2、表名

在MYSQL中有一张表informatio

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值