sqlmap工具学习
tryhackme:sqlmap
github:https://github.com/sqlmapproject/sqlmap
kali集成
参数介绍
sqlmap -h
        ___
       __H__
 ___ ___[(]_____ ___ ___  {1.7.2#stable}
|_ -| . ["]     | .'| . |
|___|_  [']_|_|_|__,|  _|
      |_|V...       |_|   https://sqlmap.org
Usage: python3 sqlmap [options]
Options:
  -h, --help            Show basic help message and exit
  -hh                   Show advanced help message and exit
  --version             Show program's version number and exit
  -v VERBOSE            Verbosity level: 0-6 (default 1)
  Target:
    At least one of these options has to be provided to define the
    target(s)
    -u URL, --url=URL   Target URL (e.g. "http://www.site.com/vuln.php?id=1")
    -g GOOGLEDORK       Process Google dork results as target URLs
  Request:
    These options can be used to specify how to connect to the target URL
    --data=DATA         Data string to be sent through POST (e.g. "id=1")
    --cookie=COOKIE     HTTP Cookie header value (e.g. "PHPSESSID=a8d127e..")
    --random-agent      Use randomly selected HTTP User-Agent header value
    --proxy=PROXY       Use a proxy to connect to the target URL
    --tor               Use Tor anonymity network
    --check-tor         Check to see if Tor is used properly
  Injection:
    These options can be used to specify which parameters to test for,
    provide custom injection payloads and optional tampering scripts
    -p TESTPARAMETER    Testable parameter(s)
    --dbms=DBMS         Force back-end DBMS to provided value
  Detection:
    These options can be used to customize the detection phase
    --level=LEVEL       Level of tests to perform (1-5, default 1)
    --risk=RISK         Risk of tests to perform (1-3, default 1)
  Techniques:
    These options can be used to tweak testing of specific SQL injection
    techniques
    --technique=TECH..  SQL injection techniques to use (default "BEUSTQ")
  Enumeration:
    These options can be used to enumerate the back-end database
    management system information, structure and data contained in the
    tables
    -a, --all           Retrieve everything
    -b, --banner        Retrieve DBMS banner
    --current-user      Retrieve DBMS current user
    --current-db        Retrieve DBMS current database
    --passwords         Enumerate DBMS users password hashes
    --dbs               Enumerate DBMS databases
    --tables            Enumerate DBMS database tables
    --columns           Enumerate DBMS database table columns
    --schema            Enumerate DBMS schema
    --dump              Dump DBMS database table entries
    --dump-all          Dump all DBMS databases tables entries
    -D DB               DBMS database to enumerate
    -T TBL              DBMS database table(s) to enumerate
    -C COL              DBMS database table column(s) to enumerate
  Operating system access:
    These options can be used to access the back-end database management
    system underlying operating system
    --os-shell          Prompt for an interactive operating system shell
    --os-pwn            Prompt for an OOB shell, Meterpreter or VNC
  General:
    These options can be used to set some general working parameters
    --batch             Never ask for user input, use the default behavior
    --flush-session     Flush session files for current target
  Miscellaneous:
    These options do not fit into any other category
    --wizard            Simple wizard interface for beginner users
[!] to see full list of options run with '-hh'
基础命令
-u URL, --url=URL          目标URL,比如 "http://www.site.com/vuln.php?id=1"
--data=DATA                通过 POST 发送的数据字符串,比如 "id=1"
--random-agent             使用随机选择的 HTTP User-Agent 标头值
-p TESTPARAMETER           可测试参数(parameter)
--level=LEVEL              要执行的测试级别(1-5,默认 1)
--risk=RISK                执行测试的风险等级(1-3,默认 1)
枚举命令
-a, --all                  检索所有内容
-b, --banner               检索DBMS(数据库管理系统,常见的有MySql等)的banner(横幅)
--current-user             检索DBMS当前用户
--current-db               检索DBMS当前数据库
--passwords                枚举DBMS的用户密码哈希
--dbs                      枚举DBMS所有数据库
--tables                   枚举DBMS数据库中的表
--columns                  枚举DBMS数据库中表的列
--schema                   枚举DBMS的schema(模式、架构)
--dump                     转储DBMS的数据库中的表的条目
--dump-all                 转储DBMS的数据库中所有表的条目
--is-dba                   检测DBMS的当前用户是否为DBA(数据库管理员)
-D <DB NAME>               指定要枚举的DBMS数据库——指定数据库
-T <TABLE NAME>            指定要枚举的DBMS数据库中的表——指定表名
-C COL                     指定要枚举的DBMS数据库中的表的列——指定列名
用于操作系统
--os-shell                 获取交互式的操作系统shell
--os-pwn                   获取一个OOB shell:Meterpreter会话 或者 VNC(Virtual Network Console); OOB是指 out-of-band,带外数据
--os-cmd=OSCMD             执行操作系统命令
--priv-esc                 数据库进程用户提权
--os-smbrelay              一键获取一个OOB shell、Meterpreter会话 或者 VNC(Virtual Network Console)
请求方式
get
sqlmap -u https://testsite.com/page.php?id=7 --dbs
直接修改想要请求的参数即可
post
只要修改参数部分即可
1. sqlmap -u https://testsite.com/page.php? --data "id=1" --dbs
2.使用bp抓包,保存到文件中,假设保存文件中post参数为id,文件为sql.txt
sqlmap -r sql.txt -p id --dbs
通用
--current-db   //爆破当前正在使用数据库,假设为database
-D database --tables //爆破当前数据库中的表 假设有table
-D database -T table --columns //爆破表的列名 假设为column
-D database -T table -C column --dump //获取当前字段的值
-D database --dump-all //转储DBMS的数据库中所有表的条目
                    
                
                
            
        
浙公网安备 33010602011771号