惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
Hacker News - Newest:
Hacker News - Newest: "LLM"
雷峰网
雷峰网
人人都是产品经理
人人都是产品经理
Last Week in AI
Last Week in AI
爱范儿
爱范儿
美团技术团队
V
Visual Studio Blog
P
Proofpoint News Feed
GbyAI
GbyAI
Y
Y Combinator Blog
博客园 - 司徒正美
IT之家
IT之家
Google DeepMind News
Google DeepMind News
F
Full Disclosure
aimingoo的专栏
aimingoo的专栏
宝玉的分享
宝玉的分享
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园_首页
M
MIT News - Artificial intelligence
V
V2EX
C
CXSECURITY Database RSS Feed - CXSecurity.com
A
Arctic Wolf
B
Blog
P
Proofpoint News Feed
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
The GitHub Blog
The GitHub Blog
SecWiki News
SecWiki News
I
Intezer
P
Palo Alto Networks Blog
S
Security Affairs
L
LangChain Blog
C
Cisco Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
Martin Fowler
Martin Fowler
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Webroot Blog
Webroot Blog
Schneier on Security
Schneier on Security
Spread Privacy
Spread Privacy
H
Heimdal Security Blog
有赞技术团队
有赞技术团队
量子位
D
Docker
S
Secure Thoughts
N
News | PayPal Newsroom
The Last Watchdog
The Last Watchdog
H
Hacker News: Front Page
H
Hackread – Cybersecurity News, Data Breaches, AI and More

玉明-风起于青萍之末

幽灵信使的黄昏-幽灵信使的黄昏 幽灵信使的黄昏-狩猎与反狩猎 幽灵信使的黄昏-最后的补丁 幽灵信使的黄昏-重构幽灵 幽灵信使的黄昏-记忆的坟场 幽灵信使的黄昏-雨夜与幽灵签名 常见网络安全事件通报类型与应急处置 以粗笔写细年——2025年总结 要有效的管理技术和知识 我眼中的《东百往事》 Nuclei新版README翻译及用法
SQLmap命令手册
Hello · 2020-09-30 · via 玉明-风起于青萍之末
  • 判断可注入的参数
  • 判断使用哪种技术注入
  • 识别数据库
  • 根据选择读取数据库中的数据

    5种注入模式

  • 基于bool的盲注
  • 基于时间的盲注
  • 基于报错的注入
  • 联合查询注入
  • 堆叠查询注入

    支持的数据库

  • MySQL
  • Oracle
  • PostgreSQL
  • MSSQL
  • MS Access
  • IBM DB2
  • SQLlite
  • Firebird
  • Sybase
  • SAP MaxDB
  • HSQLDB
  • Informix

    基础命令

  • python sqlmap.py -参数1 目标 -参数2

    帮助参数

    1. -h--help

  • 显示基本帮助信息并推出
  • 用法:python sqlmap.py -h

    2. -hh

  • 显示高级帮助信息并退出
  • 用法:python sqlmap.py -hh

    3. --version

  • 显示程序版本信息并退出
  • python sqlmap.py --version

    4. -v

  • 观察SQLmap如何进行注入以及读取数据的
  • 用法:python sqlmap.py -v 等级(默认为1)
  • 等级(共7级)

    • 0只显示python错误以及严重的信息
    • 1同时显示基本信息和警告信息
    • 2同时显示debug信息
    • 3同时显示注入的payload
    • 4同时显示HTTP请求
    • 5同时显示HTTP响应头
    • 6同时显示HTTP相应页面

    必须参数

    至少存在一个必须参数

    -u--url

  • 指定URL
  • 用法:python sqlmap.py -u http://127.0.0.1/?id=1

    -d

  • 直接连接数据库
  • 用法:python sqlmap.py -d "mysql://user:password@ip:port/数据库名称"

    -l

  • 从Burp或者WebScarab代理日志文件中来解析目标
  • 用法:python sqlmap.py -l 日志文件

    -m

  • 从文件中批量加载URL,一行一个URL
  • 用法:python sqlmap.py -m 文件

    -r

  • 从文本文件中获取HTTP请求,常用于POST提交,以及设置UA、Cookie等
  • 用法:python sqlmap.py -r 文件
  • 文本文件例子:

    POST /abc
    Host: 127.0.0.1
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0)
    
    id=1

    -g

  • 测试注入Google搜索结果中的GET参数(前100个结果)
  • 用法:python sqlmap.py -g "inurl:\".php?id=1\""

    -c

  • 从配置ini文件中加载选项
  • 用法:python sqlmap.py -c ini配置文件
  • 具体配置可以参照SQLmap文件夹中的SQLmap.conf

    请求参数

    这些选项可用于指定如何连接到目标URL

    -A或者--user-agent

  • 指定URL的UA
  • -level设置为3或者更高时,SQLmap会检测UA是否存在注入
  • 用法:python sqlmap.py 必须参数 -A UA

    -H或者--headers

  • 指定额外的HTTP头
  • 用法:python sqlmap.py 必须参数 -H HEADER

    --method

  • 强制使用给定的HTTP方法
  • 用法:python sqlmap.py 必须参数 --method=方法
  • 一般HTTP方法有:

    • GET 请求指定的页面信息,并返回实体主体
    • HEAD 类似于GET请求,只不过返回的相应中没有具体的内容,用于获取报头
    • POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
    • PUT 从客户端向服务器传送的数据取代指定的文档的内容
    • DELETE 请求服务器删除指定的页面
    • CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
    • OPTIONS 允许客户端查看服务器的性能
    • TRACE 回显服务器收到的请求,主要用于测试或者诊断
    • PATCH 是对PUT方法的补充,用来对已知资源进行局部更细。

    --data

  • 通过POST发送数据参数
  • 用法:python sqlmap.py 必须参数 --data=数据参数

    --param-del

  • 指定发送数据中拆分参数值的字符
  • 用法:python sqlmap.py 必须参数 --param-del=字符
  • 例:python sqlmap.py -u "http://192.168.56.102:8080/user.php" --data="id=0;name=werner" --param-del=";"

    --cookie

  • 指定cookie
  • -level设置为2或者更高时,SQLmap会检测cookie是否存在注入
  • 用法:python sqlmap.py 必须参数 --cookie="dasfc23cdf4ffdsda1"

    --cookie-del

  • 指定cookie中拆分参数值的字符(与--param-del类似)
  • 用法:python sqlmap.py 必须参数 --cookie-del="&"

    --load-cookies

  • 从文件中载入Netscape或wget格式的cookie
  • 用法:python sqlmap.py 必须参数 --load-cookies=文件

    --drop-set-cookie

  • 忽略响应头中设置的cookie
  • 用法:python sqlmap.py 必须参数 --drop-set-cookie

    --random-agent

  • 使用随机的UA
  • 用法:python sqlmap.py 必须参数 --random-agent

    --host

  • 指定HTTP头中的Host值
  • -level设置为5或者更高时,SQLmap会检测Host是否存在注入
  • 用法:python sqlmap.py 必须参数 --host="HOST指定值"

    --referer

  • 指定HTTP请求头中的referer,SQLmap发送的HTTP请求默认无referer
  • -level设置为3或者更高时,SQLmap会检测referer是否存在注入
  • 用法:python sqlmap.py 必须参数 --referer REFERER

    --auth-type

  • 指定认证方式
  • 支持以下身份认证方式

    • Basic
    • Digest
    • NTLM
    • PKI
  • 用法:python sqlmap.py 必须参数 --auth-type Basic 其他auth认证参数

    --auth-cred

  • 指定认证的用户名密码
  • 用法:python sqlmap.py 必须参数 --auth-type Basic --auth-cred "用户名:密码"

    --auth-file

  • 指定HTTP身份认证的PEM证书、私钥文件
  • 用法:python sqlmap.py 必须参数 --auth-file="文件或链接"

    --ignore-code

  • 忽略HTTP错误代码
  • 用法:python sqlmap.py 必须参数 --ignore-错误代码

    --ignore-proxy

  • 忽略系统默认的代理
  • 用法:python sqlmap.py 必须参数 --ignore-proxy

    --ignore-redirects

  • 忽略重定向
  • 用法:python sqlmap.py 必须参数 --ignore-redirects

    --ignore-timeouts

  • 忽略超时
  • 用法:python sqlmap.py 必须参数 --ignore-timeouts

    --proxy

  • 设置一个HTTP代理连接目标URL
  • 用法:python sqlmap.py 必须参数 --proxy="http\https\socks4\socks5://address:port"

    --proxy-cred

  • 为代理设置认证信息
  • 用法:python sqlmap.py 必须参数 --proxy="http\https\socks4\sockes5://address:port" --proxy-cred=用户名:密码

    --proxy-file

  • 从文件加载代理
  • 用法:python sqlmap.py 必须参数 --proxy-file=文件

    --tor

  • 使用tor网络
  • 用法:python sqlmap.py 必须参数 --tor 其他tor参数

    --tor-port

  • 指定tor的端口
  • 用法:python sqlmap.py 必须参数 --tor --tor-port 端口

    --tor-type

  • 设置tor的类型

    • HTTP
    • SOCKS4
    • SOCKS5(默认)
  • 用法:python sqlmap.py 必须参数 --tor --tor-type=SOCKS5

    --check-tor

  • 检查是否使用了tor
  • 用法:python sqlmap.py 必须参数 --tor 其他tor参数 --check-tor
  • 此参数会保证所有流量走tor,若tor代理失效,SQLmap会发出警告并退出

    --delay

  • 为HTTP请求之间设置延迟,以秒为单位,默认无延迟
  • 用法:python sqlmap.py 必须参数 --delay=1

    --timeout

  • 设置超时等待时间,以秒为单位,默认30秒超时
  • 用法:python sqlmap.py 必须参数 --timeout 20

    --retries

  • 超时重试次数,默认为3次
  • 用法:python sqlmap.py 必须参数 --retries 4

    --randomize

  • 随机生成HTTP请求中参数的值,值的类型和长度依照于原始值
  • 用法:python sqlmap.py 必须参数 --randomize="HTTP参数"

    --safe-url

  • 每隔一段时间访问一个安全\不错误的连接
  • 用法:python sqlmap.py 必须参数 --safe-url="安全\不错误的URL" 其他safe参数

    --safe-post

  • 访问安全\不错误连接时使用指定POST数据
  • 用法:python sqlmap.py 必须参数 --safe-post POST数据

    --safe-req

  • 从文件加载安全\不错误的HTTP请求
  • 用法:python sqlmap.py 必须参数 --safe-req 文件

    --safe-freq

  • 每隔几次测试请求之后都会访问安全URL
  • 用法:python sqlmap.py 必须参数 --safe-url="安全\不错误的URL" --safe-freq=3
  • 使用safe-url必须使用safe-freq

    --skip-urlencode

  • 对payload跳过URL编码
  • 用法:python sqlmap.py 必须参数 --skip-urlencode
  • 因为有些网站不遵守RFC标准编码,所以需要跳过URL编码

    --csrf-token

  • 指定csrf-token的值
  • 用法:python sqlmap.py 必须参数 --csrf-token=token参数

    --csrf-url

  • 指定csrf-token的url值
  • 用法:python sqlmap.py 必须参数 --csrf-url=URL参数

    --force-ssl

  • 强制使用SSL\HTTPS
  • 用法:python sqlmap.py 必须参数 --force-ssl

    --hpp

  • 使用HTTP参数污染
  • 用法:python sqlmap.py 必须参数 --hpp
  • HTTP参数污染是绕过WAF/IPS/IDS的一种技术,针对ASP/ISS/(ASP.NET/ISS)平台尤其有效

    --eval

  • 在每次请求前执行指定python代码
  • 用法:python sqlmap.py 必须参数 --eval="python代码"
  • 某些时候,需要根据某个参数的变化来修改另一个参数才能形成正常请求,所以需要用python代码根据该参数来计算出另一个参数的值

    优化参数

    这些选项可以用来优化SQLmap的性能

    -o

  • 打开所有的优化开关(即--predict-output--keep-alive--null-connection)
  • 用法:python sqlmap.py 必须参数 -o

    --predict-output

  • 预测常见的查询输出
  • 用法:python sqlmap.py 必须参数 --predict-output
  • 预设一个表,然后提交给服务器,根据返回值判断,类似暴力破解,但是每次破解都会缩小范围。

    --keep-alive

  • 保持HTTP(S)长连接
  • 用法:python sqlmap.py 必须参数 --kepp-alive
  • 性能好,避免重复建立链接,占用服务器资源。
  • --proxy不兼容

    --null-connection

  • 只检索HTTP相应页大的长度,不检索实际内容(常用于盲注)
  • python sqlmap.py 必须参数 --null-connection

    --threads

  • 多线程,默认为1,最大为10
  • **与--predict-output不兼容
  • 用法:python sqlmap.py 必须参数 --threads=3

    注入参数

    这些可选参数用于指定要测试的参数,提供定制的注入payload和可选的篡改脚本

    -p

  • 给出需要测试的参数
  • 用法:python sqlmap.py 必须参数 -p "user-agent"

    --skip

  • 排除指定参数
  • 用法:python sqlmap.py 必须参数 --skip="user-agent"

    --skip-static

  • 跳过非动态参数进行测试,即不检测固定参数
  • 用法:python sqlmap.py 必须参数 --skip-static

    --param-exclude

  • 使用正则表达式排除某些参数
  • 用法:python sqlmap.py 必须参数 --param-exclude=正则

    --dbms

  • 指定目标数据库类型、版本
  • 用法:python sqlmap.py 必须参数 --dbms="mysql<版本>"

    --dbms-cred

  • 指定数据库的用户名密码
  • 用法:python sqlmap.py 必须参数 --dbms-cred="用户名:密码"

    --os

  • 指定目标数据库的操作系统
  • 用法:python sqlmap.py 必须参数 --os="Windows"

    --invalid-bignum

  • 使用大数字使参数失效,通常SQLmap会使用负数使参数失效
  • 用法:python sqlmap.py 必须参数 --invalid-bignum

    --invalid-logical

  • 使用逻辑使参数失效,如id=1 and 1=2
  • 用法:python sqlmap.py 必须参数 --invalid-logical

    --invalid-string

  • 使用随机字符使参数失效
  • 用法:python sqlmap.py 必须参数 --invalid-string

    --no-cast

  • 在提取数据库数据时,将所有结果转换为字符串,并且空格替换NULL结果(老版本MySql需要使用此参数)
  • 用法:python sqlmap.py 必须参数 --no-cast

    --no-escape

  • 不使用char替换字符串功能
  • 出于混淆和避免出错的目的,如果payload使用单引号界定字符串,SQLmap使用char()编码逃避的方法替换字符串
  • 用法:python sqlmap.py 必须参数 --no-escape

    --prefix

  • 指定payload的闭合语句的前缀
  • 用法:python sqlmp.py 必须参数 --prefix="前缀"

    --sufix

  • 指定payload的闭合语句的后缀
  • 用法:python sqlmap.py 必须参数 --sufix="后缀"

    --tamper

  • 使用混淆脚本,用来绕过WAF/IPS/应用过滤层
  • 用法:python sqlmap.py 必须参数 --tamper="脚本文件"

    探测参数

    自定义在SQL盲注时如何解析和比较HTTP相应页面的内容

    --level

  • 指定检测等级(1~5,默认为1)
  • 可以在sqlmap/xml/payloads文件内可以看到各个level发送的payload
  • 各个level的检测数据

    1. 默认
    2. cookie
    3. user-agent
    4. referer
    5. host
  • 用法:python sqlmap.py 必须参数 --level=3

    --risk

  • 指定风险等级(1~3,默认为1),升高风险等级会增加数据被篡改的风险
  • 各个风险等级检测类型

    1. 默认
    2. 基于时间的SQL注入
    3. 基于or的SQL注入
  • 用法:python sqlmap.py 必须参数 --risk=2

    --string

  • 在基于bool注入时,指定判断真假的字符串(常用于返回页面不固定时)
  • 用法:python sqlmap.py 必须参数 --string="字符串"

    --not-string

  • 在基于bool注入时,指定没出现的字符串判断真假,与--string相反
  • 用法:python sqlmap.py 必须参数 --not-string="字符串"

    --regexp

  • 在基于bool注入时,根据正则表达式来判断真假,与--not-string和--string可以连用
  • 用法:python sqlmap.py 必须参数 --regexp="正则表达式"

    --code

  • 在基于bool注入时,通过指定HTTP返回码来判断真假
  • 用法:python sqlmap.py 必须参数 --code=200

    --text-only

  • 在bool注入时,通过文本内容判断真假
  • 用法:python sqlmap.py 必须参数 --text-only

    --titles

  • 在bool注入时,通过标题判断真假
  • 用法:python sqlmap.py 必须参数 --titles

    技巧参数

    这些参数可以用来调整SQL注入的测试技术

    --technique

  • 指定使用的SQL注入技术,默认为BEUSTQ
  • 指定的技术如下:

    • B:bool盲注
    • E:报错注入
    • U:联合查询注入
    • S:堆叠注入
    • T:时间盲注
    • Q:内联查询注入
  • 用法:python sqlmap.py 必须参数 --technique=BU

    --time-sec

  • 在时间盲注中,指定判断的时间,单位为秒,默认为5
  • 用法:python sqlmap.py 必要参数 --time-sec=3

    --union-cols

  • 联合注入的尝试列数,随level增加最多支持50列,默认查询1-10列
  • 用法:python sqlmap.py 必要参数 --time-cols 5-7

    --union-char

  • 在联合注入中,默认使用的占列的值是NULL,但是有时候NULL会失效,所以需要手动指定一个其他的占列值。
  • 用法:python sqlmap.py 必要参数 --union-char=1

    --union-from

  • 在有些数据库中,必须指定一个有效且可访问的表,否则联合查询就会失败,所以必须使用该参数指定一个表
  • 用法:python sqlmap.py 必须参数 --union-from=表名

    --dns-domain

  • 如果控制了一台DNS服务器,则可以使用该命令做DNS泄露攻击,通过攻击,可以在DNS的访问日志里得到查询的数据
  • 用法:python sqlmap.py 必须参数 --dns-domain
  • 注意!DBMS中需要有可用的,能直接或间接引发DNS解析过程的程序,即用到UNC1,其中引发DNS解析过程的函数有:

    • MSSQL

      • master..xp_dirtree(用于获取所有文件夹的列表和给定文件内部的子文件夹)
      • master..xp_fileexit(用于确定一个特定的文件是否存在于硬盘)
      • master..xp_subdirs(用于得到给定的文件夹内的文件夹列表)
    • Oracle

      • GET_HOST_ADDRESS(用于检索特定主机的IP)
      • UTL_HTTP.REQUEST(从给定的地址检索到第1~2000字节的数据)
    • MySql

      • load_file(读取文件内容并将其作为字符串返回)
    • PostgreSQL

      • COPY(用于在文件系统的文件和表之间拷贝数据)

    --second-url

  • 搜索二阶相应的结果页面的URL,即在一个页面注入,在另外一个页面显示,适合GET提交,POST提交需要下一个参数
  • 用法:python sqlmap.py 必须参数 --second-url="另一个页面地址"

    --second-req

  • 与上一个相同,只是从文件加载HTTP请求
  • 用法:python sqlmap.py 必须参数 --second-req="请求的文件地址"

    指纹参数

    -f--fingerprint

  • 获取更广泛的DBMS操作系统、架构、补丁等信息
  • 用法:python sqlmap.py 必须参数 -f

    枚举参数

    下列这些选项可以用于枚举数据库的系统信息、表的结构和数据,此外还可以执行自定义的SQL语句

    -a--all

  • 查找所有的信息,即枚举中所有的信息
  • 用法:python sqlmap.py 必须参数 -a

    -b--banner

  • 查询数据库的标识,即数据库类型与版本
  • 用法:python sqlmap.py 必须参数 -b

    --current-user

  • 查询数据库的当前用户
  • 用法:python sqlmap.py 必须参数 --current-user

    --current-db

  • 查询数据库中当前使用的数据库
  • 用法:python sqlmap.py 必须参数 --current-db

    --hostname

  • 查询数据库中当前的主机名
  • 用法:python sqlmap.py 必须参数 --hostname

    --is-dba

  • 检测当前的数据库用户是否为DBA(即数据库管理员)
  • 用法:python sqlmap.py 必须参数 --is-dba

    --users

  • 枚举所有用户
  • 用法:python sqlmap.py 必须参数 --users

    --passwords

  • 枚举所有用户名密码的哈希
  • 用法:python sqlmap.py 必须参数 --passwords

    --privileges

  • 枚举所有数据库用户的权限
  • 用法:python sqlmap.py 必须参数 --privileges
  • 枚举某一数据库用户权限,用法:python sqlmap.py 必须参数 --privileges -U username
  • 枚举数据库当前用户权限,用法:python sqlmap.py 必须参数 --privileges -CU
  • 如果是MSSQL,则只会列出用户是否为管理员而不是用户的具体权限

    --roles

  • 枚举数据库中的用户角色
  • 只要在Oracle数据库中可以用,其余数据库返回--privileges的数据
  • 用法:python sqlmap.py 必须参数 --roles
  • 其余用法同--privileges

    --dbs

  • 枚举服务器中所有的数据库
  • 用法:python sqlmap.py 必须参数 --dbs

    --tables

  • 枚举数据库中的所有表名
  • 用法:python sqlmap.py 必须参数 --tables

    --columns

  • 枚举数据库中的所有列名
  • 用法:python sqlmap.py 必须参数 --columns

    --schema

  • 查询数据库架构,即每个列的类型,如:id是int类型,name是varchar(255)类型
  • 用法:python sqlmap.py 必须参数 --schema

    --count

  • 枚举每个表所包含的数据量
  • 用法:python sqlmap.py 必须参数 --count

    --dump

  • 查询指定范围的全部数据
  • 用法:python sqlmap.py 必须参数 --dump 其他参数
  • 该处的其他参数通常指-D-T-C-X-U--start--stopfirst--last--pivot-column--where,这些参数均在后面有相应介绍

    --dump-all

  • 枚举数据库中全部数据
  • 用法:python sqlmap.py 必须参数 --dump-all

    --search

  • 搜索数据库、表、列的名称
  • 用法:python sqlmap.py 必须参数 --search 其他参数
  • 其他参数为-C-T-D,这些参数均在后面有相应介绍

    --comments

  • 搜索数据库的备份
  • 用法:python sqlmap.py 必须参数 --comments

    -D

  • 指定枚举的数据库名
  • 用法:python sqlmap.py 必须参数 -D 数据库名

    -T

  • 指定枚举的表名
  • 用法:pyton sqlmap.py 必须参数 -T 表名
  • 通常情况下需先指定数据库

    -C

  • 指定枚举的列名
  • 用法:python sqlmap.py 必须参数 -C 列名
  • 通常情况下需先指定数据库和表名

    -X

  • 不枚举数据库中的某一列
  • 用法:python sqlmap.py 必须参数 -X 标识符
  • 如图:

    • 未使用-X

      未使用-X

    • 使用-X

      使用-X

    -U

  • 指定用户名,常和--privileges一起使用
  • 用法:python sqlmap.py 必须参数 --privileges -U 指定的用户名
  • 其中,使用-CU表示当前账户

    --exclude-sysdbs

  • 与-X类似,此为排除某个数据库
  • 用法:python sqlmap.py 必须参数 --exclude-sysdbs 数据库名

    --pivot-colum

  • 做数据透视用的,估计平时也很少用的上。因为可能自动选择的列不适合做数据透视,所以可以使用该参数强制指定一列。
  • 用的:python sqlmap.py 必须参数 --pivot-cloum

    --where

  • 使用-dump下载数据时,可以使用该参数限制条件
  • 用法:python sqlmap.py 必须参数 --where=限制条件

    --start

  • 设置一个起始位置,在下载表时,从第几行开始
  • 用法:python sqlmap.py 必须参数 --start=3

    -stop

  • 设置一个结束位置,作用同上
  • 用法:python sqlmap.py 必须参数 --stop=4

    --first--last

  • 此参数仅使用SQL盲注
  • 根据官方的说法时可以将某一列的字符转储到另一列,但是根据我的尝试并没有成功。
  • 用法:python sqlmap.py 必须参数 --first=2 --last=4

    --sql-query

  • 执行SQL语句
  • 用法:python sqlmap.py 必须参数 --sql-query=SQL语句

    --sql-shell

  • 执行SQL的shell
  • 用法:python sqlmap.py 必须参数 --sql-shell=shell语句

    --sql-file

  • 从给定的文件中读取SQL语句来执行
  • 用法:python sqlmap.py 必须参数 --sql-file=文件目录

    暴力破解参数

    下列选项可以用于暴力破解

    --common-tables

  • 检查记录信息的公共表。
  • 用法:python sqlmap.py 必须参数 --common-tables
  • 在以下这些情况中,不能使用-tables检索数据库的列名,需要使用该参数:

    • MySQL版本小于5.0
    • 数据库是Access
    • 会话用户对数据库的系统表没有读取权限

      --common-columns

  • 检查公共的列。
  • 用法:pyhton sqlmap.py 必须参数 --common-columns
  • 在以下这些情况中,不能使用-columns检索数据库的列名,需要使用该参数:

    • MySQL版本小于5.0
    • 数据库是Access
    • 会话用户对数据库的系统表没有读取权限

      自定义函数注入参数

      这些选项可以创建自定义的函数用来注入

      --udf-inject

  • 通过编译MySQL、PostgreSQL的共享库、DLL和共享对象来注入自定义函数(UDFs)
  • 用法:python sqlmap.py 必须参数 --udf-inject=文件路径
  • 用法:python sqlmap.py 必须参数 --shared-lib=文件路径
  • 仅适用于MySQL和PostgreSQL
  • 详情参见链接

    文件系统访问参数

    这些选项可用于访问数据库系统中的文件

    --file-read

  • 从数据库系统中读取文件
  • 用法:python sqlmap.py 必须参数 --file-read=文件路径

    --file-write

  • 对数据库系统写入文件
  • 用法:python sqlmap.py 必须参数 --file-write=文件路径

    --file-dest

  • 写入文件到数据库系统的绝对路径
  • 用法:python sqlmap.py 必须参数 --file-dest=文件路径

    操作系统访问参数

    这些选项可以用于访问后端数据库管理的操作系统

    --os-cmd

  • 执行系统命令
  • 用法:python sqlmap.py 必须参数 --os-cmd=命令

    --os-shell

  • 创建一个shell
  • 用法:python sqlmap.py 必须参数 --os-shell

    --os-pwn

  • 可以用来反弹msf下的shell和vnc
  • 用法:python sqlmap.py 必须参数 --os-pwn

    --os-smbrelay

  • 获取OOB shell,反弹msf下的shell和vnc
  • 用法:python sqlmap.py 必须参数 --os-smbrelay

    --os-bof

  • 利用缓冲区漏洞
  • 用法:python sqlmap.py 必须参数 --os-bof

    --priv-esc

  • 自动提权
  • 用法:python sqlmap.py 必须参数 --priv-esc

    --msf-path

  • 输入本地的msf路径
  • 用法:python sqlmap.py 必须参数 --msf-path=本地msf路径

    --tmp-path

  • 输入远程临时文件目录的绝对路径。
  • 用法:python sqlmap.py 必须参数 --tmp-path=临时文件绝对路径

    Windows注册表访问参数

    这些选项可以用于访问使用Windows系统的数据库中Windows注册表
    前三个参数必须选择一个,后四个参数任选

    --reg-read

  • 读取Windows注册表
  • 用法:python sqlmap.py 必须参数 --reg-read

    reg-add

  • 写入一个Windows注册表
  • 用法:python sqlmap.py 必须参数 --reg-add

    --reg-del

  • 删除一个Windows注册表
  • 用法:python sqlmap.py 必须参数 --reg-del

    --reg-key

  • 表示Windows注册表的key值
  • 用法:python sqlmap.py 必须参数 前三个参数 --reg-key=key值

    --reg-value

  • 表示注册表值
  • 用法:python sqlmap.py 必须参数 前三个参数 --reg-value=值

    --reg-data

  • 表示注册表数据
  • 用法:python sqlmap.py 必须参数 前三个参数 --reg-data=数据

    --reg-type

  • 表示注册表类型
  • 用法:python sqlmap.py 必须参数 前三个参数 --reg-type=类型

    其他参数1

    这些选项可以用于设置一些常规工作参数

    -s

  • 从一个.sqlite文件中加载session
  • 用法:python sqlmap.py 必须参数 -s SESSION文件

    -t

  • 将所有HTTP流量记录到文本文件中
  • 用法:python sqlmap.py 必须参数 -t 文本文件保存位置

    --answers

  • 设置预设答案
  • 用法:python sqlmap.py 必须参数 --answers=答案
  • 在执行sqlmap可能会多次询问选择,所以可以提前设置

    --base64

  • 设置包含base64数据编码的数据
  • 用法:python sqlmap.py 必须参数 --base64=需要base64编码的HTTP参数

    --batch

  • 永远使用默认设置,不询问用户
  • 用法:python sqlmap.py 必须参数 --batch

    --binary-fields

  • 如果表中具有储存的二进制值的列,可以使用该参数进行正确的处理,所有的这些字段将被检索,并用十六进制显示。
  • 用法:python sqlmap.py 必须参数 --binary-fields=使用二进制的列

    --check-internet

  • 在进行注入前,首先检测互联网是否可以访问
  • 用法:python sqlmap.py 必须参数 --check-internet

    --crawl

  • 从目标网址开始抓取网站的深度
  • 用法:python sqlmap.py 必须参数 --crawl=深度层数

    --crawl-exclude

  • 使用正则表达式排除不需要爬取的网页
  • 用法:python sqlmap.py 必须参数 --crawl-exclude=正则表达式

    --csv-del

  • 设置CSV格式的分隔符,默认使用逗号作为分隔符
  • 用法:python sqlmap.py 必须参数 --csv-del=","

    --charset

  • 设置盲注的字符集
  • 用法:python sqlmap.py 必须参数 --charset=字符集
  • 在基于布尔和时间的盲注SQL注入中,用户可以强制使用自定义字符集来加快数据检索过程。

    --dump-format

  • 设置转储数据格式,默认为CSV,可选HTML、SQLite
  • 用法:python sqlmap.py 必须参数 --dump-format=html或者sqlite或者csv

    --encoding

  • 设置编码,如:GBK或者utf-8
  • 用法:python sqlmap.py 必须参数 --encoding=GBK

    --eta

  • 显示每个输出的估计时间
  • 用法:python sqlmap.py 必须参数 --eta

    --flush-session

  • 刷新当前目标的session
  • 用法:pyhton sqlmap.py 必须参数 --flush-session

    --forms

  • 解析在目标URL中存在的表单,通常这些表单在HTML中都是用<form><input>标记的
  • 用法:python sqlmap.py 必须参数 --forms

    --fresh-queries

  • 忽略储存在session中的查询结果,通过该参数,可以保持session保持不变。
  • 用法:python sqlmap.py 必须参数 --fresh-queries

    --har

  • 将所有的HTTP流量记录到一个har文件中
  • 用法:python sqlmap.py 必须参数 --har

    --hex

  • 在数据检索期间使用十六进制转换
  • 用法:python sqlmap.py 必须参数 --hex

    --output-dir

  • 自定义输出目录
  • 用法:pyhton sqlmap.py 必须参数 --output-dir=输出目录路径

    --parse-errors

  • 解析错误解析,并显示来自数据库的错误消息
  • 用法:python sqlmap.py 必须参数 --parse-errors

    --preprocess

  • 使用给定的脚本对请求数据进行预处理
  • 用法:python sqlmap.py 必须参数 --preprocess=脚本路径
  • 使用该参数可以在发送请求前对请求数据使用自定义脚本,例如将参数附加到POST请求中。

    --postprocess

  • 使用给定的脚本对响应数据进行预处理
  • 用法:python sqlmap.py 必须参数 --postprocess=脚本路径
  • 使用该参数可以在收到响应后对响应数据使用自定义脚本,例如将所有小写字符转换为大写

    --repair

  • 修复具有未知字符标记的项
  • 用法:python sqlmap.py 必须参数 --repair

    --save

  • 保存现在的选项到ini配置文件中
  • 用法:pyhton sqlmap.py 必须参数 --save=配置文件.conf
  • 可以使用-c来读取这些ini配置文件

    --scope

  • 使用正则表达式从burp的日志中过滤所需要的主机
  • 用法:python sqlmap.py 必须参数 --scope="正则表达式"
  • 例如:

    • python sqlmap.py -l burp.log --scope="(www)?\.target\.(com|net|org)"

      --test-filter

  • 通过某些有效载荷或标题进行测试
  • 用法:python sqlmap.py 必须参数 --test-filter=有效载荷或标题
  • 使用包含某个关键词的payload进行检测

    --test-skip

  • 跳过某些有效载荷或标题进行测试
  • 用法:python sqlmap.py 必须参数 --test-skip=想跳过的有效载荷或标题

    --update

  • 升级SQLmap
  • 用法:python sqlmap.py --update

    其他参数2

    -z

  • 助记符,只要能确定唯一的参数,那么就可以缩写参数
  • 用法:python sqlmap.py 必须参数 -z "缩写参数"
  • 例子:python sqlmap.py -z "bat,randoma,ign,tec=BEU" -u "www.target.com/vuln.php?id=\1",其中,bat--batchrandomarandom-agentignignore-proxytec-BEU--technique=BEU

    --alert

  • 当发现SQL注入后,运行本机的CMD命令
  • 用法:python sqlmap.py 必须参数 --alert "命令"
  • 只在Linux环境下成功过

    --beep

  • 当发现SQL注入后,蜂鸣器报警
  • 用法:python sqlmap.py 必须参数 --beep

    --cleanup

  • 从SQLmap创建的临时表和自定义函数
  • 常用于测试结束后
  • 用法:python sqlmap.py 必须参数 --cleanup

    --dependencies

  • 检查缺少的SQLmap依赖的第三方库
  • 常用于检测SQLmap必须的第三方依赖python库
  • 用法:python sqlmap.py --dependencies

    --disable-coloring

  • 关闭彩色输出
  • 用法:python sqlmap.py --disable-coloring

    --gpage

  • 指定来自某一页码的Google dork结果,常与-g一起使用
  • 用法:python sqlmap.py -g 参数 --gpage=12

    --identify-waf

  • 识别WAF、IPS、IDS等
  • 用法:python sqlmap.py 必须参数 --identity-waf

    --list-tampers

  • 列出所有本地绕WAF的规则
  • 用法:python sqlmap.py --list-tampers

    --mobile

  • 模拟智能手机的UA
  • 用法:python sqlmap.py 必须参数 --mobile

    --offline

  • 在脱机模式下运行,只在当前或以前的数据,不会对服务端进行连接
  • 用法:python sqlmap.py 必须参数 --offline

    --purge

  • 安全删除SQLmap数据目录中的所有内容,即删除本地SQLmap测试的所有数据和历史记录
  • 用法:python sqlmap.py --purge
  • 安全删除意味着对该目录进行随机数据覆盖,破坏数据,防止恢复

    --skip-waf

  • 跳过WAF、IPS、IDS的扫描检测
  • 用法:pyhton sqlmap.py 必须参数 --skip-waf

    --smart

  • 如果只是为了找出批量检测中的SQL注入,使用该参数进行启发式扫描,只有让数据库报错的参数才会进一步测试,其余跳过
  • 常与-m一起使用
  • 用法:python sqlmap.py -m 参数 --smart

    --sqlmap-shell

  • 使用该参数,可以打开一个交互式的SQLmap SHELL,支持历史记录
  • 用法:python sqlmap.py --sqlmap-shell

    --tmp-dir

  • 更改本地临时文件储存目录
  • 用法:python sqlmap.py --tmp-dir=本地目录

    --web-root

  • 指定Web服务器的文档根目录
  • 用法:python sqlmap.py 必须参数 --web-root="根目录绝对路径"

    --wizard

  • 面向初学者的简单向导界面
  • 用法:python sqlmap.py --wizard
  • 该参数使用简单的工作流程,问题尽可能的少,只要输入了URL,那么在工作流结束时,也会设置一个正确的SQLmap运行环境