考点精讲
记忆技巧
常见误区
真题思路
- 【示例】 使用 sqlmap 时,要把某个库中指定表指定列的数据全部导出,下列参数组合最合理的是()
--current-db --current-user -D 库名 -T 表名 -C 列名 --dump --users --passwords -r 请求文件 --tables
答案:B
解析:-D 指定库、-T 指定表、-C 指定列、--dump 导出数据,四者组合即「导出指定库指定表指定列的数据」,B 正确。A 查当前库/用户,C 查用户与密码,D 指定请求文件并枚举表,均非直接导出指定列数据。
常见问题
Q:--current-db 和 --current-user 分别查什么?
A:--current-db 查询当前数据库名,--current-user 查询当前数据库用户。
Q:-D、-T、-C 三个参数分别指定什么?
A:-D 指定数据库,-T 指定数据表,-C 指定列。三者配合用于缩小范围、精确定位要导出的数据。
Q:--post 和 -r 有什么区别?
A:--post 用于直接指定 POST 请求的参数;-r 用于指定一个完整的 HTTP 请求文件(如 BurpSuite 抓包保存的文件),sqlmap 按该请求进行注入。
Q:sqlmap 脱库的完整流程是什么?
A:先用 -u 指定目标 URL 并探测注入点;再用 --dbs 枚举数据库 → -D 指定库 → --tables 枚举表 → -T 指定表 → --columns 枚举列 → -C 指定列 → --dump 导出数据。
相关知识
教材出处:第4章 Web 漏洞 sqlmap 自动化 SQL 注入