二次注入(二次注入硬化剂的作用)

二次注入目录 1、概述
2、原理 1、概述
二次注入是指已存储(数据库、文件)的用户输入被读取后再次进入到 SQL 查询语句中导致的注入。
二次注入是sql注入的一种,但是比普通sql注入利用

目录

1.概述

2. 原则

1、概述

二次注入是指存储的用户输入(数据库、文件)被读取并重新输入到SQL 查询语句中而引起的注入。

二次注入是一种比普通SQL注入更难利用、利用门槛更高的SQL注入。常规注入将数据直接输入到SQL 查询中,而二次注入则处理输入数据、存储数据、检索数据,然后再次将其输入到SQL 查询中。

2、原理

二次注入的原理是在第一次向数据库插入数据时,使用addslashes、get_magic_quotes_gpc、mysql_escape_string、mysql_real_escape_string等函数对特殊字符进行转义。然而,addslashes 的一个特性是参数被转义。添加\’\\\’进行转义,但是\’\\\’不会插入到数据库中,写入数据库时会保留原始数据。将数据存储在数据库中后,开发人员确定该数据是可信的。下次需要查询时,直接从数据库中取出脏数据,不做进一步的检查或处理,造成二次SQL注入。

例如,第一次插入数据时,数据包含单引号,直接插入数据库。然后在下次使用时,在粘合过程中会形成二次注塑。

宽字节注入是指当MySQL数据库使用宽字节(GBK)编码时,认为两个字符都是汉字(要达到汉字的范围,前面的ASCII码必须大于128(例如%df) ),如果输入单引号,mysql 会调用转义函数将单引号更改为\\\’。 \\的十六进制值为%5c,在mysql的GBK编码中为%df%5c,因此单引号被关闭(转义)并插入到攻击中。

示例:http://127.0.0.1/index.php?id=1 %df\’ 4 order — \’

#以上二次注入相关内容来自网络,仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/91228.html

(0)
CSDN的头像CSDN
上一篇 2024年6月21日
下一篇 2024年6月21日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注