26. SQL注入:注入分类

SQL注入是一种代码注入技术,用于攻击数据驱动的应用程序。 在应用程序中,如果没有做恰当的过滤,则可能使得恶意的SQL语句被插入输入字段中执行(例如将数据库内容转储给攻击者)。

26.1. 按技巧分类

根据使用的技巧,SQL注入类型可分为:

  • 盲注
    • 布尔盲注:只能从应用返回中推断语句执行后的布尔值
    • 时间盲注:应用没有明确的回显,只能使用特定的时间函数来判断
  • 报错注入:应用会显示全部或者部分的报错信息
  • 堆叠注入:有的应用可以加入 ; 后一次执行多条语句
  • 其他

26.2. 按获取数据的方式分类

另外也可以根据获取数据的方式分为3类

  • inband:利用Web应用来直接获取数据,如报错注入,这类注入都是通过站点的响应或者错误反馈来提取数据。
  • inference:通过Web的一些反映来推断数据,如布尔盲注,也就是我们通俗的盲注, 通过Web应用的其他改变来推断数据。
  • out of band (OOB):通过其他传输方式来获得数据,比如DNS解析协议和电子邮件。
下一节:本文介绍了常见的注入点及检测方法。