请说明 SQLMap 在 SQL 注入测试中的使用流程,并列举其常用参数及其作用。
考察说明
考查对 SQLMap 工具的基本使用和常用参数的理解。
回答思路
- 【回答框架 1】SQLMap 是一款自动化检测和利用 SQL 注入漏洞的开源工具,支持多种数据库。基本使用流程包括:指定目标 URL 或请求文件,检测注入点,枚举数据库信息,以及获取数据。
- 【回答框架 2】常用参数包括:-u 指定目标 URL,-p 指定测试参数,--data 设置 POST 数据,--cookie 携带会话信息,--level 和 --risk 控制测试深度和风险,--dbs 枚举数据库,--tables 枚举表,--dump 导出数据,--batch 自动选择默认选项。
- 【回答框架 3】使用时应先确认授权,避免对未授权目标测试。测试过程中可结合 --tamper 绕过 WAF,--proxy 使用代理,--threads 设置并发线程数。
- 【回答框架 4】检测到注入后,可根据数据库类型选择相应技术,如布尔盲注、时间盲注、联合查询等,SQLMap 会自动选择最优方式。
- 【关键点 1】SQLMap 通过 -u 指定目标,--data 处理 POST 请求,--cookie 维持会话。
- 【关键点 2】--level 和 --risk 控制测试深度,--dbs、--tables、--dump 用于数据提取。
- 【关键点 3】--batch 自动选择默认选项,--tamper 可绕过 WAF。
- 【关键点 4】测试前必须获得授权,避免非法操作。