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