当前位置: 首页 > news >正文

MYSQL中的两种转义操作

在 MySQL 中,转义字符用于处理特殊字符,以防止语法错误或 SQL 注入攻击,而单双引号都是需要重点注意的字符

可以用转义符\  和 两个连续的引号 来起到转义引号的作用

转义符转义:

这是users表中的数据

5f285bd409b742f6966f08849af61454.png

如果查询admin' 或者 admin" 用户,可以用转义符\ 

c5ac47d3c98d4a309aac79d753552999.png

 两个连续的引号转义:

可以用两个连续的单引号完成转义单引号操作

aa4ed0493ca84ca98d1f25b9d57275ed.png

又或者

2a5a75e3cf5046a8a2b3d7b6de651c94.png

可以看到语句正常执行并且中间的四个单引号被转义成两个单引号

如果不连续,就会报错

ed747ad33e6844159929b5b84e560b07.png

 其中第二条命令在两个单引号之后插入了1 语句没有报错,只是没有查询到 admin'1  这个用户名

第三条命令报错信息为near '1''' at line 1 

也就是认为'admin'是正常的字符串,而后面的 1'' 格式不对从而导致报错

SQL注入中的演示:

以sqli-labs 第11关为例: 这一关是输入框

82533c2de53c4be588f9a58f00f264b5.png

代码中的查询语句:

@$sql="SELECT username, password FROM users WHERE username='$uname' and password='$passwd' LIMIT 0,1";

可以看到是用单引号包围了$uname 和 $passwd 参数,这题是有报错信息回显的

用户名输入admin\ 密码输入 123   会报错 near '123' LIMIT 0,1' at line 1

42beef215e66485fba91a7baf20e1aa9.png
是因为转义符转义了单引号变成 

where username='admin\' and password='123' LIMIT 0,1";  

单引号中的内容匹配的是  admin\' and password=   后面的123' 是格式错误的,所以报错信息是123'

不输入密码 只输入 admin\    会回显

3466732d46424a51bde475c7949098c4.png

报错信息变成了从 admin 开始

输入 admin' 来测试 不输入密码  回显报错  near ''admin'' and password='' LIMIT 0,1' at line 1    

5f72d5b642ee4732b57719f5e9e4c224.png
如果输入密码例如123  那么报错信息就变成  near '123' LIMIT 0,1' at line 1  

b8ff778be7b54abdad1fc28c0bee377a.png
这时错误信息是123' 而不是从admin开始到最后
    
在mysql中 两个连续的单引号表示转义,即'' 表示一个转义过的'

那么前面输入 admin'/123      '' 转义变成'

select username, password from users where username='admin'' and password='123' LIMIT 0,1;

admin'' and password= 被识别为username单引号中的内容  所以出错位置是123'
不输入密码  变成 where username='admin'' and password=''  
按照上面应该是'admin'' and password=' 被识别为字符串内容,那么报错信息应该从最后的单引号'开始
很明显不是,猜测是因为最后的password='' 两个连续的单引号也被转义成了一个字面上的单引号,导致最后没有能够匹配最开始的单引号,不能正常闭合整个字符串,所以报错信息是从admin开始的

输入密码之后隔开了两个单引号,不连续所以没被转义,前面正常,只有后面报错

相关文章:

MYSQL中的两种转义操作

在 MySQL 中,转义字符用于处理特殊字符,以防止语法错误或 SQL 注入攻击,而单双引号都是需要重点注意的字符 可以用转义符\ 和 两个连续的引号 来起到转义引号的作用 转义符转义: 这是users表中的数据 如果查询admin 或者 admin" 用户,可以用转义符\ 两个连…...

力扣题目解析--删除链表的倒数第n个节点

题目 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5]示例 2: 输入:head [1], n 1 输出:[]示例 3&…...

Knowledge Graph-Enhanced Large Language Models via Path Selection

研究背景 研究问题:这篇文章要解决的问题是大型语言模型(LLMs)在生成输出时存在的事实不准确性,即所谓的幻觉问题。尽管LLMs在各种实际应用中表现出色,但当遇到超出训练语料库范围的新知识时,它们通常会生…...

Android 项目模型配置管理

Android 项目配置管理 项目模型相关的配置管理config.gradle文件:build.gradle文件: 参考地址 项目模型相关的配置管理 以下是一个完整的build.gradle和config.gradle示例: config.gradle文件: ext {// 模型相关配置&#xff0…...

「QT」几何数据类 之 QSizeF 浮点型尺寸类

✨博客主页何曾参静谧的博客📌文章专栏「QT」QT5程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid…...

Essential Cell Biology--Fifth Edition--Chapter one(2)

1.1.1.3 Living Cells Are Self-Replicating Collections of Catalysts 催化剂集合 生物最常被引用的特性之一是它们的繁殖能力。对于细胞来说,这个过程包括复制它们的遗传物质和其他成分,然后分裂成两个,产生一对子细胞[daughter cells]&a…...

大语言模型LLMs在医学领域的最新进展总结

我是娜姐 迪娜学姐 ,一个SCI医学期刊编辑,探索用AI工具提效论文写作和发表。 相比其他学科,医学AI,是发表学术成果最多的领域。 医学数据的多样性和复杂性(包括文本、图像、基因组数据等),使得…...

云防护单节点2T抗攻击能力意味着什么?

随着互联网的发展,DDoS攻击的规模和频率不断增加,对企业和个人用户的网络服务造成了严重威胁。云防护服务作为一种高效的DDoS防护手段,逐渐成为许多企业的首选。本文将重点讨论云防护单节点2T(太比特每秒)抗攻击能力的…...

IDEA在编译时: java: 找不到符号符号: 变量 log

一、问题 IDEA在编译的时候报Error:(30, 17) java: 找不到符号符号: 变量 log Error:(30, 17) java: 找不到符号 符号: 变量 log 位置: 类 com.mokerson.rabbitmq.config.RabbitMqConfig 二、解决方案 背景:下载其他同事代码时,第一次运行&#xff0c…...

HTML 基础架构:理解网页的骨架

HTML的文档结构主要由以下几个部分组成&#xff1a;<html>、<head>和<body>。 <html>标签是HTML文档的根元素&#xff0c;用来包裹整个HTML文档的内容。<head>标签用于定义文档的头部&#xff0c;包含了一些元数据和其他不直接显示在页面上的内…...

FPGA学习笔记#5 Vitis HLS For循环的优化(1)

本笔记使用的Vitis HLS版本为2022.2&#xff0c;在windows11下运行&#xff0c;仿真part为xcku15p_CIV-ffva1156-2LV-e&#xff0c;主要根据教程&#xff1a;跟Xilinx SAE 学HLS系列视频讲座-高亚军进行学习 从这一篇开始正式进入HLS对C代码的优化笔记 目录 1.循环优化中的基…...

web实操4——servlet体系结构

servlet体系结构 我们基本都只实现service方法&#xff0c;其余几个都不用&#xff0c; 之前我们直接实现servlet接口&#xff0c;所有的方法都必须实现&#xff0c;不用也得写&#xff0c;不然报错&#xff0c;写了又不用当摆设。 能不能只要定义一个service方法就可以&…...

Linux开发讲课48--- Linux 文件系统概览

本文旨在高屋建瓴地来讨论 Linux 文件系统概念&#xff0c;而不是对某种特定的文件系统&#xff0c;比如 EXT4 是如何工作的进行具体的描述。另外&#xff0c;本文也不是一个文件系统命令的教程。 每台通用计算机都需要将各种数据存储在硬盘驱动器&#xff08;HDD&#xff09;…...

Node.js 模块详解

模块的概念 Node.js 运行在 V8 JavaScript 引擎上&#xff0c;通过 require() 函数导入相关模块来处理服务器端的各种进程。一个 Node.js 模块可以是一个函数库、类集合或其他可重用的代码&#xff0c;通常存储在一个或多个 .js 文件中。 例如&#xff0c;启动一个 Node.js 服…...

大厂面试真题-说说tomcat的优缺点

Tomcat作为服务器&#xff0c;特别是作为Java Web服务器&#xff0c;具有一系列优点和缺点。以下是对其优缺点的详细分析&#xff1a; 优点 开源免费&#xff1a; Tomcat是一个免费、开源的Web服务器&#xff0c;用户可以在任何环境下自由使用&#xff0c;无需支付任何费用。…...

Linux系统编译boot后发现编译时间与Windows系统不一致的解决方案

现象 如下图&#xff0c;从filezilla软件看虚拟机Linux中编译的uboot.img修改时间与Windows系统时间不同 解决过程 在Linux中查看编译的uboot详细信息&#xff0c;从而得到编译时间。终端输入ls -l后&#xff0c;如下图&#xff1a; 结论 说明在Linux是按照Windows系统时…...

WPS Office手机去广高级版

工具介绍功能特点 WPS Office是使用人数最多的移动办公软件&#xff0c;独有手机阅读模式&#xff0c;字体清晰翻页流畅&#xff1b;完美支持文字&#xff0c;表格&#xff0c;演示&#xff0c;PDF等51种文档格式&#xff1b;新版本具有海量精美模版及高级功能 安装环境 [名称…...

Python爬虫基础-正则表达式!

前言 正则表达式是对字符串的一种逻辑公式&#xff0c;用事先定义好的一些特定字符、及这些特定字符的组合&#xff0c;组成一个“规则的字符串”&#xff0c;此字符串用来表示对字符串的一种“过滤”逻辑。正在在很多开发语言中都存在&#xff0c;而非python独有。对其知识点…...

Python处理PDF组件使用及注意事项

在 Python 中处理 PDF 文件时&#xff0c; 使用的组件及注意事项如下&#xff1a; 1. PyPDF2 / PyPDF4 说明&#xff1a; PyPDF2 和 PyPDF4 都是功能强大的 PDF 操作库&#xff0c;适用于合并、拆分、旋转 PDF 文件&#xff0c;提取 PDF 元数据等。PyPDF4 是 PyPDF2 的一个分…...

langgraph_plan_and_execute

整体入门demo 教程概览 欢迎来到LangGraph教程&#xff01; 这些笔记本通过构建各种语言代理和应用程序&#xff0c;介绍了如何使用LangGraph。 快速入门&#xff08;Quick Start&#xff09; 快速入门部分通过一个全面的入门教程&#xff0c;帮助您从零开始构建一个代理&a…...

透视 Mission Control 源码:如何构建高性能的 Agent 实时监控架构?

在 AI Agent 爆火的当下&#xff0c;我们正从“对话式 AI”迈向“行为式 AI”。然而&#xff0c;当数十个 Agent 同时运行&#xff0c;处理复杂的链上交易或长程任务时&#xff0c;开发者面临的最大挑战往往是&#xff1a;观测性&#xff08;Observability&#xff09;。你无法…...

人为什么要活着的庖丁解牛

它的本质是&#xff1a;**这个问题本身是一个 逻辑陷阱 (Logical Trap)。它预设了生命必须有一个 外部赋予的、预先定义的“目的” (Pre-defined Purpose)&#xff0c;就像软件必须有“需求文档”一样。然而&#xff0c;宇宙是 无目的的 (Purposeless)&#xff0c;生命是 涌现的…...

CircuitPython开发实战:从环境搭建到内存优化与硬件选型

1. CircuitPython开发环境搭建与核心概念 如果你是从Arduino或者传统的嵌入式C开发转向微控制器编程&#xff0c;第一次接触CircuitPython的感觉&#xff0c;就像是突然有人给你递了一把万能钥匙。过去&#xff0c;点个灯、读个传感器&#xff0c;你得跟寄存器、数据手册、还有…...

小微团队如何利用 Taotoken 统一管理多个 AI 模型密钥与用量

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 小微团队如何利用 Taotoken 统一管理多个 AI 模型密钥与用量 对于小型开发或产品团队而言&#xff0c;在项目开发中集成多个大语言…...

3大高级功能揭秘:用Python玩转B站API的终极指南

3大高级功能揭秘&#xff1a;用Python玩转B站API的终极指南 【免费下载链接】bilibili-api 哔哩哔哩常用API调用。支持视频、番剧、用户、频道、音频等功能。原仓库地址&#xff1a;https://github.com/MoyuScript/bilibili-api 项目地址: https://gitcode.com/gh_mirrors/bi…...

OLAP引擎全景图鉴:从架构原理到场景适配,深度解析Impala/Druid/Presto/Kylin/ClickHouse的选型之道

1. OLAP技术全景解析&#xff1a;从基础概念到架构分类 当你打开手机查看每日步数统计&#xff0c;或是浏览电商平台的年度消费报告时&#xff0c;背后支撑这些数据分析的正是OLAP技术。OLAP&#xff08;在线分析处理&#xff09;就像一位不知疲倦的数据分析师&#xff0c;能够…...

从DC到DCG:手把手教你搭建物理感知综合流程(含DEF文件处理避坑指南)

从DC到DCG&#xff1a;物理感知综合全流程实战指南 在28nm以下工艺节点&#xff0c;传统逻辑综合工具已难以应对复杂的物理效应。我们团队在最近一次5nm芯片项目中&#xff0c;由于初期忽视物理感知综合的约束设置&#xff0c;导致时序收敛多耗费三周时间。本文将分享从Design …...

PromethAI-Backend:构建标准化AI智能体后端框架的工程实践

1. 项目概述与核心价值最近在折腾AI应用开发&#xff0c;特别是想搞一个能处理复杂工作流的智能体系统&#xff0c;发现了一个挺有意思的开源项目——PromethAI-Backend。这名字听着就有点“普罗米修斯”盗火种给人类的意思&#xff0c;挺形象的&#xff0c;它本质上就是一个为…...

【权威发布】Midjourney V6结构提示词标准白皮书(含官方未公开的4类语法优先级矩阵与37个避坑节点)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney V6结构提示词的核心演进与范式变革 Midjourney V6 标志着生成式图像模型在语义理解与结构化表达上的重大跃迁。其提示词&#xff08;prompt&#xff09;系统不再仅依赖关键词堆叠&#xff0…...

Postman数据迁移实战:如何用导入导出功能,在团队间高效同步你的接口集合和环境变量

Postman团队协作指南&#xff1a;接口资产迁移与标准化管理实践 在分布式团队和敏捷开发成为主流的今天&#xff0c;API开发工具的高效使用直接影响着协作效率。作为被全球超过2000万开发者使用的API工具&#xff0c;Postman的集合与环境变量功能已经成为团队间接口定义传递的事…...