1 按参数类型分类,SQL 注入类型分为哪几种方式?

参考答案

按参数类型分类,SQL 注入类型一般可分为数字型和字符型两种方式方式。数字型注入是指输入参数为整型时,如 id、页码等。字符型注入是指输入参数为字符串时,如姓名、地址等。

2 描述普通 SQL 注入思路

参考答案

普通 SQL 注入是指执行注入 SQL 语句时,敏感信息可以展示出来,并进行进一步的操作。一般按以下思路进行:

1)判断是否存在注入点,字符型、数字型

2)猜解 SQL 查询语句中的字段数

3)确定显示的字段位置

4)获取当前数据库

5)获取数据库中的表

6)获取表中的字段名

7)下载数据(脱库)

3 描述 SQL 盲注注入思路

参考答案

SQL 盲注入不会展现任何数据库报错内容,需要构建真或假的问题对数据库进行 “提问”,注入方式主要有两种:基于布尔值与基于时间。

一般按以下思路进行:

1)判断是否存在注入点,数字型、字符型

2)猜解当前数据库名

3)猜解数据库中的表名

4)猜解表中的字段名

5)猜解数据

4 描述普通 SQL 注入的操作方法

参考答案

针对普通 SQL 注入,如果数据库中的内容会回显到页面中来,可以采用 union select 联合查询进行注入。如果发现数据库中 SQL 语句的报错信息会显示在页面中,可以进行报错注入。

5 描述 SQL 盲注注入的操作方法

参考答案

因为 SQL 盲注入不会展现任何数据库内容或报错内容,因此可以利用页面返回的布尔类型状态判断猜解是否正确,或利用 sleep() 语句的延时性,以时间线作为判断条件。
https://tts.tmooc.cn/ttsPage/NTD/NTDTN202109/INJECTION/DAY02/EXERCISE/01/index_answer.html