目标

译自:Target

至少提供以下其中一个选项,用于指定目标。

直连数据库

选项:-d

针对单一数据库实例运行 sqlmap 工具。这个选项可设置为下面格式的连接字符串:

  • DBMS://USER:PASSWORD@DBMS_IP:DBMS_PORT/DATABASE_NAME(MySQL,Oracle,Microsoft SQL Server,PostgreSQL 等。)
  • DBMS://DATABASE_FILEPATH(SQLite,Microsoft Access,Firebird 等。)

例如:

  1. $ python sqlmap.py -d "mysql://admin:admin@192.168.21.17:3306/testdb" -f --bann\
  2. er --dbs --users

目标 URL

选项:-u--url

针对单一目标 URL 运行 sqlmap。这个选项可设置为下面格式的 URL:

http(s)://targeturl[:port]/[...]

例如:

  1. $ python sqlmap.py -u "http://www.target.com/vuln.php?id=1" -f --banner --dbs -\
  2. -users

从 Burp 或 WebScarab 代理日志解析目标

选项:-l

除了可以提供单个目标 URL,还可以测试并注入 Burp 代理或者 WebScarab 代理代理的 HTTP 请求。使用这个参数时,需要提供代理 HTTP 请求的日志文件。

从给定的文本文件读取多个目标进行扫描

选项:-m

通过文本文件提供一个目标 URLs 列表,sqlmap 会逐个进行扫描检测。

样本文件所提供的 URLs 列表示例:

  1. www.target1.com/vuln1.php?q=foobar
  2. www.target2.com/vuln2.asp?id=1
  3. www.target3.com/vuln3/id/1*

从文件中载入 HTTP 请求

选项:-r

sqlmap 可以从一个文本中读取原始的 HTTP 请求。通过这种方式,你能够免于设置部分选项(例如:设置 cookies,POST 数据等参数)。

HTTP 请求文件数据样本如下:

  1. POST /vuln.php HTTP/1.1
  2. Host: www.target.com
  3. User-Agent: Mozilla/4.0
  4. id=1

如果相关的请求是 HTTPS,你可以结合 --force-ssl 开关强制使用 SSL 进行 443/tcp 连接。或者,你可以在 Host 头部信息后面直接加上 :443

使用 Google dork 结果作为目标地址

选项:-g

sqlmap 同时支持根据 Google dork 返回结果测试并注入 GET 参数。

这个选项使得 sqlmap 能够和搜索引擎当前会话 cookies 进行内容交互,进行相关的搜索操作。然后 sqlmap 会获取 Google dork 表达式筛选出的前 100 个返回结果及附带的 GET 参数,并且询问你是否对每个可能存在注入的 URL 进行测试注入。

例如:

  1. $ python sqlmap.py -g "inurl:\".php?id=1\""

从 INI 配置文件中读取选项

选项:-c

sqlmap 支持从 INI 配置文件中读取用户的选项配置,例如:sqlmap.conf

需要注意的是,如果你在命令行调用时,同时提供了相关的选项设置,则配置文件中的选项会被覆盖失效。