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的数据库中所有表的条目
标签:sqlmap,DBMS,database,--,数据库,学习,工具,options
From: https://www.cnblogs.com/-Lucky-/p/17274625.html