二次注入攻击
什么是二次注入?
二次注入是指已存储(数据库,文件)的用户输入被读取后再次进入到SQL查询语句中导致的注入。
二次注入是sql注入的一种,但是比普通sql注入利用更加困难,利用门槛更高。
普通注入数据直接进入到 SQL 查询中,而二次注入则是输入数据经处理后存储,取出后,再次进入到
SQL 查询。
二次注入原理
二次注入的原理,在第一次进行数据库插入数据的时候,仅仅只是使用了 addslashes 或者是借助
get_magic_quotes_gpc 对其中的特殊字符进行了转义,在写入数据库的时候还是保留了原来的数据,
但是数据本身还是 脏数据 。
在将数据存入到了数据库中之后,开发者就认为数据是可信的。在下一次进行需要进行查询的时候,直
接从数据库中取出了脏数据,没有进行进一步的检验和处理,这样就会造成SQL的二次注入。比如在第
一次插入数据的时候,数据中带有单引号,直接插入到了数据库中;然后在下一次使用中在拼凑的过程
中,就形成了二次注入。

二次注入攻击实列
[靶场练习地址][http://43.247.91.228:84/Less-24/]
二次注入的实例——SQLIlab lesson-24
学习SQL注入,必定要刷SQLIlab,这里以SQLIlab lesson-24为例,也是考察的二次注入的点。打开题
目

二次注入是一种比普通SQL注入更难利用的攻击方式,它发生在数据存储后未经处理再次进入SQL查询时。文章通过SQLIlab Lesson-24的实例展示了如何利用注册和密码修改过程中的漏洞进行二次注入,解释了注入原理,并分析了代码中未对数据库取出的数据进行二次判断所导致的安全风险。
最低0.47元/天 解锁文章
26万+

被折叠的 条评论
为什么被折叠?



