【新手初学】SQL注入之二次注入、中转注入、伪静态注入

news/2025/2/24 10:37:07

二次注入

一、概念

二次注入可以理解为,攻击者构造的恶意数据存储在数据库后,恶意数据被读取并进入到SQL查询语句所导致的注入。

二、原理

防御者可能在用户输入恶意数据时对其中的特殊字符进行了转义处理,但在恶意数据插入到数据库时被处理的数据又被还原并存储在数据库中,当Web程序调用存储在数据库中的恶意数据并执行SQL查询时,就发生了SQL二次注入。


在第一次进行数据库插入数据的时候,仅仅只是对其中的特殊字符进行了转义,在写入数据库的时候还是保留了原来的数据,比如单引号数据,虽然直接注入失效了,但是数据写入到了数据库数据库中存的这个数据本身还是脏数据。在将数据存入到了数据库中之后,很多开发者都会认为数据是可信的。在下一次进行需要进行查询的时候,直接从数据库中取出了脏数据,没有进行进一步的检验和处理,这样就会造成SQL的二次注入。比如在第一次插入数据的时候,数据中带有单引号,直接插入到了数据库中;然后在下一次使用中在拼接的过程中,就形成了二次注入。

三、步骤

二次注入,可以概括为以下两步:(第一次注入,第二次触发,并不是注入了两次)
第一步:插入恶意数据
进行数据库插入数据时,对其中的特殊字符进行了转义处理,在写入数据库的时候又保留了原来的数据。
第二步:引用恶意数据
开发者默认存入数据库的数据都是安全的,在进行查询时,直接从数据库中取出恶意数据,没有进行进一步的检验的处理。

四、实战演练

点击注册

注册成功

发现后台数据库中存在刚刚注册的用户

再次登录上,并更改密码为666

再次在数据库中查询,发现原有用户的密码改变

中转注入

原理

通过在客户端和服务器之间设置一个中间代理(如Burpsuite),对注入的payload进行统一的加工和处理,从而绕过一些网站的安全防护。

伪静态注入

一、概念

看似为静态页面,实则为动态页面,就称之为伪静态页面,而伪静态页面的注入就叫做伪静态注入。

通过url区分静态、动态、伪静态
动态:(有数据交互)
http://192.168,0,26/pikachu/vu1/sg1i/sgli_str.php?name=vince&submit=%E6%9F%A5%E8%AF%A2

https://search,id.com/search?Keyword=%E6%89%8B%E6%9C%BA&WG=%E6%89%8B%E6%9C%BA&eV=5 122671%5E

静态:(没有数据交互(不能搜索、评论))
http://127.0.0.1:8000/jaden/index.htm1
http://127.0.0.1:8000/jaden/person.htm1

伪静态:
http://127.0.0.1:8000/jaden/1/wei_news .htm1
http://127.0.0.1:8000/jaden/news/1.htm1

二、原理

将动态网站伪装成静态网站,以降低被攻击的风险。


http://www.niftyadmin.cn/n/5864223.html

相关文章

代码审计入门学习之sql注入

路由规则 入口文件&#xff1a;index.php <?php // ---------------------------------------------------------------------- // | wuzhicms [ 五指互联网站内容管理系统 ] // | Copyright (c) 2014-2015 http://www.wuzhicms.com All rights reserved. // | Licensed …

python 基础知识全面总结

目录 1. Python 的特点 2. 安装 Python 3. Python 的基本语法 &#xff08;1&#xff09;注释 &#xff08;2&#xff09;缩进 &#xff08;3&#xff09;变量和数据类型 &#xff08;4&#xff09;输入和输出 4. 条件控制语句 5. 循环语句 循环控制语句 6. 函数 7…

深度学习(5)-卷积神经网络

我们将深入理解卷积神经网络的原理&#xff0c;以及它为什么在计算机视觉任务上如此成功。我们先来看一个简单的卷积神经网络示例&#xff0c;它用干对 MNIST数字进行分类。这个任务在第2章用密集连接网络做过&#xff0c;当时的测试精度约为 97.8%。虽然这个卷积神经网络很简单…

ubuntu22.04连接github无法访问的问题

目录 说明安装 说明 此方案只针对虚拟机, 如果是云服务器(毕竟是官方维护, github还是能访问到的)多试几次肯定能够访问到的. 国内我们无法访问外网, 所以我们目前能够访问外网的途径基本上只能开佳速器. 所以我们需要选择一款加速器来帮助我们访问外网, 目前市面上很多佳速器…

springBoot统一响应1.0版本

前言&#xff1a; 通过实践而发现真理&#xff0c;又通过实践而证实真理和发展真理。从感性认识而能动地发展到理性认识&#xff0c;又从理性认识而能动地指导革命实践&#xff0c;改造主观世界和客观世界。实践、认识、再实践、再认识&#xff0c;这种形式&#xff0c;循环往…

连接Sql Server时报错无法通过使用安全套接字层加密与 SQL Server 建立安全连接

文章目录 一. 前言二. 解决方案 方案1方案2 三. 总结 一. 前言 在《数据库原理》这门课的实验上&#xff0c;需要使用SQL Server&#xff0c;然后使用jdbc连接sql server突然报错为&#xff1a;SQLServerException: “Encrypt”属性设置为“true”且 “trustServerCertific…

一个基本的pyside6项目模板demo

一个属于自己的空白的pyside6项目模板demo&#xff0c;可以用作项目的起步框架。 主目录结构 各个目录和文件的说明&#xff1a; DataBase&#xff1a;数据库相关文件 Job&#xff1a;作业函数&#xff0c;是用来实现具体功能的函数&#xff0c;比如用于文字识别&#xff0c;或…

Rust语言基础知识详解【一】

1.在windows上安装Rust Windows 上安装 Rust 需要有 C 环境&#xff0c;以下为安装的两种方式&#xff1a; 1. x86_64-pc-windows-msvc&#xff08;官方推荐&#xff09; 先安装 Microsoft C Build Tools&#xff0c;勾选安装 C 环境即可。安装时可自行修改缓存路径与安装路…