SQL注入——二次注入入门题:Three Hit
(一)二次注入简介
二次注入是SQL注入的一个子类,如果对SQL注入不太了解的话可以参考之前博客的介绍:SQL注入简介——堆叠注入.
下面来讲什么是二次注入:
二次注入,是指已存储(数据库、文件)的用户的输入被读取后再次进入到 SQL 查询语句中导致的注入。
由此可见,二次注入与普通的数据注入的区别是:普通注入数据是直接进入到 SQL 查询中,而二次注入是输入数据(恶意数据)经处理后存储,取出后,再次进入到 SQL 查询。
防御者可能在用户输入恶意数据时会对其中的特殊字符进行转义处理,但在恶意数据插入到数据库时被处理的数据又被还原并存储在数据库中,当Web程序调用存储在数据库中的恶意数据并执行SQL查询时,就发生了SQL二次注入。
(图片来源于网络)