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

ops/2025/2/24 12:05:53/

二次注入

一、概念

二次注入可以理解为,攻击者构造的恶意数据存储在数据库后,恶意数据被读取并进入到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.ppmy.cn/ops/160972.html

相关文章

HtML之JavaScript BOM编程

HtML之JavaScript BOM编程 window history 历史location 地址栏document 浏览器打开的.html文档console F12开发者工具的控制台screen 屏幕navigator 浏览器软件本身(历史原因一直沿用)sessionStorage 会话级存储localStorage 持久级存储 window对象 API…

W803|联盛德|WM IoT SDK2.X测试|(1)开箱:开发板及说明

前几天关注的联盛德微电子新推出了WM IoT SDK2.X,正式发布后,邀请用户参加“免费试用,赢千元大礼”活动,填写信息,等待统一发送,很快收到了板子。 活动地址:联盛德微电子WM IoT SDK2.X正式发布…

哈希:LeetCode49. 字母异位词分组 128.最长连续序列

49. 字母异位词分组 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs ["eat", "tea", "tan", "ate",…

AI学习第二天-Python基础

python name "John" # 字符串变量赋值 age 25 # 整型变量赋值数据类型与转换 条件语句 if 语句 python num 10 if num > 5:print("数字大于 5")if - else 语句 python num 3 if num > 5:print("数字大于 5") else:print(…

[AI] [ComfyUI]理解ComyUI的基本原理及其图像生成技术

ComyUI作为一种图像生成框架,其背后的核心技术基于潜在空间的概念,并通过各种深度学习模块实现高效的图像生成与本地部署。本文将详细探讨ComyUI的基本原理,涵盖其在图像生成中的关键概念,包括潜在空间、VAE模块、噪声处理以及CLIP编码器节点的作用。 1. 潜在空间的存在与…

深入理解C语言中的枚举类型:基础、应用与最佳实践

在C语言的学习和编程实践中,我们常常会遇到需要处理一组具有特定含义的常量的情况。比如,在表示一周的七天、四季或者某种状态的集合时,如果单纯使用普通的整型常量,代码不仅可读性差,而且维护起来也较为困难。这时&am…

剖析IO原理和零拷贝机制

目录 1 Linux的五种IO模型1.1 模型调用的函数1.1.1 recv函数1.1.2 select函数1.1.3 poll函数1.1.4 epoll函数1.1.5 sigaction函数 1.2 IO模型1.2.1 阻塞IO模型1.2.2 非阻塞IO模型1.2.3 IO复用模型1.2.4 信号驱动IO模型1.2.5 异步IO模型1.2.6 IO模型比较 2 Java的BIO、NIO、AIO2…

985硕研一无人机方向转嵌入式可能吗?如何选择未来方向?

今天给大家分享的是一位粉丝的提问,985硕研一无人机方向转嵌入式可能吗?如何选择未来方向? 接下来把粉丝的具体提问和我的回复分享给大家,希望也能给一些类似情况的小伙伴一些启发和帮助。 同学提问: 老师我是985硕研…