SQL二次注入原理分析
二次注入在测试的时候比较少见,或者说很难被测出来,因为测的时候首先要去找注入的位置,其次是去判断第一次执行的SQL语句,然后还要去判断第二次进行调用的 SQL 语句。而关键问题就出在第二次的调用上面。
下面以一个常用过滤方法来说明具体问题。

通过addslashes函数的转换可以将查询语句中的单引号进行转义,避免了在查询中出现 SQL 注入的问题。那我们接下来换一个语句,看一下会出现什么效果。


能够发现我们插入语句中的单引号在执行SQL语句的时候是被转义了的,而在数据库中这个单引号却还是被直接存放在数据库没有添加我们的转义符。
这也是addslashes函数的一个特点,只负责在查询之前进行转义危险字符,但不会修改原始数据。那么当被插入的危险数据又被调用成查询条件呢?这个时候就变成二次注入了。

其中 addslashes 函数中的数据是用户插入的数据,先不谈这个程序的逻辑有点愚蠢,因为只是为了演示,现实中的程序会将第一次的查询结果用来操作另外的数据表或者进行删改操作。
可以看到最终执行的语句就一个盲注的语法。
相关文章:
SQL二次注入原理分析
二次注入在测试的时候比较少见,或者说很难被测出来,因为测的时候首先要去找注入的位置,其次是去判断第一次执行的SQL语句,然后还要去判断第二次进行调用的 SQL 语句。而关键问题就出在第二次的调用上面。 下面以一个常用过滤方法…...
在线签约如何选择?2024年10款顶级app大比拼
支持电子合同签约的10大app:e签宝、上上签、DocuSign、契约锁、Adobe Sign、法大大、SignNow、安心签、HelloSign、PandaDoc。 无论是企业之间的交易还是个人服务合同,线上电子合同签约提供了一种便捷、高效且安全的方式来处理法律文档。本文将介绍几款优…...
gcc: warning: -Wunused-function;加了选项,为什么就不报警告呢?
文章目录 问题clang的编译而使用gcc是就不报问题分析原因如果是非static的函数问题 下面这个代码段,其中这个函数hton_ext_2byte,在整个程序里就没有使用。 static inline uint16_t hton_ext_2byte(uint8_t **p) {uint16_t v;******return v;...
系统提示我未定义与 ‘double‘ 类型的输入参数相对应的函数 ‘finverse‘,如何解决?
🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…...
【电路笔记】-B类放大器
B类放大器 文章目录 B类放大器1、概述2、B类放大器介绍3、推挽式配置4、限制交叉失真5、B类放大器效率6、总结1、概述 我们在之前的文章中已经知道,A 类放大器的特点是导通角为 360,理论最大效率为 50%。 在本文中,我们将详细介绍另一类放大器,称为B类放大器,它是为解决A…...
Ubuntu 22.04 安装中文字体
笔者在用OpenCV4.9处理图片加水印时,中文乱码。原来是Ubuntu 22.04发行版缺少中文字体支持,因此,笔者就找资料安装了需要的中文字体,特此记录,以备后查。 1、打开终端: 2、更新软件包列表: su…...
「树莓派入门」树莓派进阶04-直流电机控制与PWM应用
直流电机控制是树莓派硬件项目中的一项重要技能。通过PWM技术,你可以实现对电机速度的精确控制。在实验过程中,请注意电机的电源匹配和GPIO引脚的保护。 一、直流电机基本原理 直流电机通过直流电源供电,其工作原理基于洛伦兹力定律,即电流通过线圈时,会在磁场中受到力的…...
利用数据集,用机器学习模型对股市预测,聊聊看!
🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…...
015-GeoGebra基础篇-定点旋转物体、动态显示数值并显示运动轨迹
这可能是我能想到的最大概率可以被你搜索到的标题了,容我先喘口气~ 目录 一、成品展示二、涉及内容三、做图步骤(1)绘制三角形t(2)建立定点D(3)制作角度滑动条(4)图形绕点…...
2024年6月份找工作和面试总结
转眼间6月份已经过完了,2024年已经过了一半,希望大家都找到了合适的工作。 本人前段时间写了5月份找工作的情况,请查看2024年5月份面试总结-CSDN博客 但是后续写的总结被和谐了,不知道这篇文章能不能发出来。 1、6月份面试机会依…...
同步时钟:北斗/GPS卫星、电信基站、NTP以太网校时方式的区别
同步时钟是保证各设备时间统一的重要装置,广泛应用于电力、通信、金融、学校、医院、地铁等多个领域。目前,常用的同步时钟方式包括:北斗/GPS卫星、电信基站、NTP以太网等。 下面跟着小编来看一下这些校时方式及他们的区别吧。 1. 北斗/GP…...
实现Java应用的快速开发与迭代
实现Java应用的快速开发与迭代 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 1. 引言 随着软件开发周期的不断缩短和市场竞争的加剧,快速开发和…...
利用redis数据库管理代理库爬取cosplay网站-cnblog
爬取cos猎人 数据库管理主要分为4个模块,代理获取模块,代理储存模块,代理测试模块,爬取模块 cos猎人已经倒闭,所以放出爬虫源码 api.py 为爬虫评分提供接口支持 import requests import concurrent.futures import …...
数据仓库建模基础理论-01-为什么需要数据建模?
一、什么是数据模型? 数据模型是数据库的基础结构,用于描述和组织数据的方式。 它不仅是数据库的底层结构,还是一个概念性工具,帮助理解数据的含义和关系。 数据模型包括数据本身、数据之间的关系、数据的语义(含义和…...
中序遍历的两种实现——二叉树专题复习
递归实现: /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right)…...
python 基础综合应用——小开发
#python 基础综合应用——小开发 综合复习 变量- 循环- 函数- 模块 开发 名片管理系统 名片管理系统介绍 名片管理系统可以理解成花名册软件,通过个人新建人的信息后可以进行查询等简单操作的程序 名片管理系统有三个作用, 1.新建名片 2.显示全部名…...
算法金 | 我最常用的两个数据可视化软件,强烈推荐
大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 抱个拳,送个礼 预警:今天文章的描述可能会让你有点别扭;如感到不适,请及时停止 在我行…...
【机器学习实战】Baseline精读笔记
比赛用到的库 numpy:提供(多维)数组操作 pandas:提供数据结构、数据分析 catboost:用于机器学习的库,特别是分类和回归任务 sklearn.model_selection:包含模型选择的多种方法,如交…...
Redis 缓存问题及解决
所有问题解决的关键就是尽少的访问数据库,或者避免太集中的访问。 一,缓存穿透(key在数据库不存在) 当数据既不在缓存中,也不在数据库中,导致请求访问缓存没数据,访问数据库也没数据,…...
RISC-V的历史与设计理念
指令集是什么? 如果把软件比作螺丝钉,硬件比作螺母,那么指令集架构就是螺丝钉与螺母的蓝图。我们需要根据蓝图设计可以匹配的螺丝钉与螺母。——包云岗老师 RISC-V的起源 以往比较流行的指令集:ARM,MIPS,X…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
数据结构:递归的种类(Types of Recursion)
目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...
