【sql注入】二次注入
原文地址
【sql注入】二次注入 – Yoyo&Kiki's Blog (mylovekiki.top)
注入原理
攻击者构造恶意的数据并存储在数据库后,恶意数据被读取并进入到SQL查询语句所导致的注入。
防御者可能在用户输入恶意数据时对其中的特殊字符进行了转义处理,但在恶意数据插入到数据库时被处理的数据又被还原并存储在数据库中,当Web程序调用存储在数据库中的恶意数据并执行SQL查询时,就发生了SQL二次注入。
利用条件
- 插入恶意数据——构造恶意语句并进行数据库插入数据时,虽对其中特殊字符进行了转义处理,但在写入数据库时仍保留了原来的数据;
- 引用恶意数据——开发者默认存入数据库的数据都是安全的,在进行调用时,直接从数据库中取出构造的恶意数据,没有进行进一步的检验。
注入实例
Sqli-labs-24
审计代码
在注册新用户时,用mysql_escape_string()函数对输入数据进行字符转义;
mysql_escape_string()与mysql_real_escape_string() 完全一样,均转义字符串中的特殊字符(\x00 \n \r \ ‘ ” \x1a),除了 mysql_real_escape_string() 接受的是一个连接句柄并根据当前字符集转移字符串之外。mysql_escape_string() 并不接受连接参数,也不管当前字符集设定。
在更改密码时,直接从session中取username,为进行过滤放入修改密码的语句;
实操
插入恶意数据:创建新用户;
username:batman’#
password:123321
单引号虽被转义,但在插入数据库时反斜杠没有被带入;
引用恶意数据:登录并修改密码;
New Password:111111
此时在后端实际执行的代码为:
UPDATE users SET PASSWORD='111111' where username='batman'#' and password='$curr_pass'
batman’# 的单引号对前面的单引号进行了闭合,#注释掉了后面的语句,就相当于对batman进行了改密;
【sql注入】二次注入相关推荐
- SQL注入-二次注入和多语句注入
二次注入 一.二次注入的定义 简单的说二次注入就是已经存储到数据库中的用户输入,在进行再一次读取的时候进去SQL查询语句中的注入. 二.二次注入的原理 第一步:插入恶意数据 第一次进行数据库插入数据的 ...
- SQL注入堆叠注入二次注入
蓝易云高性能服务器 | | | | |
- Spring 依赖注入(二、注入参数)
注入参数基本分7类: 1.基本类型值 2.注入bean 3.内部bean 4.注入null值 5.级联属性 6.List,Set,Map集合的注入 7.properties文件的注入(和集合注入基本是 ...
- SQL注入之二次注入(sql-lab第24关)
什么是二次注入 二次注入可以理解为,攻击者构造的恶意数据存储在数据库后,恶意数据被读取并进入到SQL查询语句所导致的注入.防御者可能在用户 输入恶意数据时对其中的特殊字符进行了转义处理,但在恶意数据插 ...
- SQL 注入之二次注入
目录 1.原理 二次注入的过程 2.实验过程 (1)查看初始 users 表 (2)注册用户 (3)修改用户密码 3.原因 具体代码 4.防御措施 1.原理 二次注入可以理解为,攻击者构造的恶意数据存 ...
- 编解码注入、二次注入、DNSlog盲注
1.编解码注入 靶场 sqlilabs-Less21 登录后,使用bp抓包 分析源码: 发现,如果正确登录,就会设置一个cookie,并且使用base64编码 分析cookie: 发现此处可以进行co ...
- SQL注入之MYSQL注入总结
简介 information_schema是用于存储数据库元数据的表,它保存了数据库名,表名,列名等信息. 让我们从爆破表名到了可以直接查询. information_schema是MySQL5.0以 ...
- SQL注入-盲注-时间注入-报错注入-布尔盲注-DNSlog注入-宽字节注入-WAF绕过-SqlMap使用
Sqli-labs的安装 1.安装WAMP http://www.wampserver.com/ WAMP是php + mysql + Apache环境集成工具 2.下载Sqli-labs https ...
- XCTF BUG( 越权 修改forwarded头 文件上传) UNFINSH(二次注入 python脚本) 学习过程
最近忙着入职和处理一些杂事,更新的确比较少了.不过在周末还是正好有空的,正好刷刷XCTF. 目录 XCTF BUG 注册账号 越权漏洞 文件上传 XCTF UFINISH XCTF BUG 首先进行常 ...
- php sql 二次注入,espcms 二次注入一枚
Author:Yaseng 1:通过 $alias 二次注入来控制sql 用户昵称 $alias 从数据库查询出来 未过滤 interface/member.php [php] $db_sql = & ...
最新文章
- idea直连linux部署项目,idea项目打包和在linux的部署
- 时间可以是二维的?基于二维时间图的视频内容片段检测 | AAAI 2020
- 电脑上怎么做pdf文件_PDF文件怎么加水印?PDF水印添加方法
- I Hate It(线段树基础)
- python爬虫的硬件配置_python爬虫之redis环境简单部署
- n^n的末位数字(快速幂)
- 利用云计算打造政务信息化及应急指挥云平台
- 分享实录 | 企业CICD规模化落地浅析
- client 连接 host —— 虚拟机
- 学习webpack4 - ES6语法转化
- SpringBoot集成logback彩色日志配置以及banner启动设置(炫酷到爆炸!)
- 东大OJ 2SAT 异或
- 百度举办区块链论坛,携手多伙伴加速区块链产业落地
- 【渝粤题库】陕西师范大学164207 网络经济学 作业(专升本)
- 计算机笔记本怎么保存文件,怎么将电脑上的文件保存在QQ邮箱?
- linux中cpu使用率命令,LINUX下查看CPU使用率的命令
- html5 密码加密,1、5 写注册的后台并写前台html密码加密id 随机
- jsp中给div加背景_html中给元素添加背景图片或者gif动图
- uva 10808 - Rational Resistors
- CGB2107-Day03-mybatis