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工具学习的更多相关文章

  1. Git版本控制工具学习

    Git代码管理工具学习 分布式管理工具:git 相比较svn它更加的方便,基本上我们的操作都是在本地进行的. Git文件的三种状态:已提交,已修改,以暂存. 已提交:表示文件已经被保存到本地数据库. ...

  2. sql server 内置ETL工具学习(一) BCP篇

    sql server 内置ETL工具学习 常用的导入方式:bcp, BULK INSERT,OPENROWSET和 SSIS. BCP BCP全称BULK COPY PROGRAM 有以下特点: 命令 ...

  3. linux 工具学习网站

    推荐一个很不错的linux工具学习网站; 对于一个开发人员来说,我觉得掌握这些工具对于基于linux的应用开发来说事半功倍. http://linuxtools-rst.readthedocs.io/ ...

  4. SQLMap工具的安装使用

    SQLMap工具介绍: sqlmap是一个开源软件,用于检测和利用数据库漏洞,并提供将恶意代码注入其中的选项. 它是一种渗透测试工具,可自动检测和利用SQL注入漏洞,在终端中提供其用户界面.该软件在命 ...

  5. [原创]Jmeter工具学习思维导图

    [原创]Jmeter工具学习思维导图

  6. [转] 用协议分析工具学习TCP/IP

    一.前言 目前,网络的速度发展非常快,学习网络的人也越来越多,稍有网络常识的人都知道TCP/IP协议是网络的基础,是Internet的语言,可以说没有TCP/IP协议就没有互联网的今天.目前号称搞网的 ...

  7. 第八模块:算法&设计模式、企业应用 第2章 企业应用工具学习

    第八模块:算法&设计模式.企业应用 第2章 企业应用工具学习

  8. webpack前端构建工具学习总结(一)之webpack安装、创建项目

    npm是随nodeJs安装包一起安装的包管理工具,能解决NodeJS代码部署上的很多问题: 常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器 ...

  9. webpack前端构建工具学习总结(二)之loader的使用

    Webpack 本身只能处理 JavaScript 模块,如果要处理其他类型的文件,就需要使用 loader 进行转换. Loader 可以理解为是模块和资源的转换器,它本身是一个函数,接受源文件作为 ...

  10. webpack前端构建工具学习总结(四)之自动化生成项目中的html页面

    接续上文:webpack前端构建工具学习总结(三)之webpack.config.js配置文件 插件的介绍文档:https://www.npmjs.com/package/html-webpack-p ...

随机推荐

  1. Docker 基础及安装

    目录 一.简介 二.Docker的基本组成 三.Docker的安装 四.配置国内阿里云镜像加速 五.Hello World 上手实践 六.Docker底层原理 更多内容,前往 IT-BLOG 一.简介 ...

  2. ACM-位运算符-判断奇偶

    同样一个问题,位运算可以提高程序的运行效率. 下面讲一下关于奇偶性的判断. 常规方法 public static boolean isOdd(int i){ ​ return i % 2 != 0; ...

  3. 图与网络分析—R实现(二)

    图与网络 网络在各种实际背景问题中以各种各样的形式存在.交通.电子和通讯网络遍及我们日常生活的各个方面,网络规划也广泛用于解决不同领域中的各种问题,如生产.分配.项目计划.厂址选择.资源管理和财务策划 ...

  4. [Java SE]javac编译时编码错误

    1 问题复现 Information:java: javacTask: 源发行版 8 需要目标发行版 1.8 Information:java: Errors occurred while compi ...

  5. 8.redis存储token以及springboot整合Jwt

    1.总结: 昨天主要是下载安装和使用redis去存储token,但在创建redis的新建的时候出现了host异常,原因是没有将服务中的进程关掉,再重新打开redis的server,再打开cli: 回顾 ...

  6. 四月二十六java基础知识

    1..对文件的随机访问:前面介绍的流类实现的是磁盘文件的顺序读写,而且读和写分别创建不同的对象,java语言中还定义了一个功能强大.使用更方便的随机访问类RandomAcessFile它可以实现文件的 ...

  7. 一文了解MySQL中的多版本并发控制

    作者:京东零售  李泽阳 最近在阅读<认知觉醒>这本书,里面有句话非常打动我:通过自己的语言,用最简单的话把一件事情讲清楚,最好让外行人也能听懂. 也许这就是大道至简,只是我们习惯了烦琐和 ...

  8. Golang一日一库之 日志库 zap

    简介 在开发过程中 会使用到日志库去记录错误的日志,尤其是golang中 有无穷无尽的error 如果不记录,当你的代码出错,就无从排错了. zap 是开源的 Go 高性能日志库 主要有以下特点: 支 ...

  9. 如何实现 Java SpringBoot 自动验证入参数据的有效性

    Java SpringBoot 通过javax.validation.constraints下的注解,实现入参数据自动验证 如果碰到 @NotEmpty 否则不生效,注意看下 @RequestBody ...

  10. AI时代下普通小程序员的想法

    在我接触了一系列AI技术后,不禁产生了许多思考.我先后尝试了AI编程.AI写论文.AI写小说.AI绘画等,最近看到了一些关于AI构建虚拟世界以及Auto-GPT的AI类新闻.在这个过程中,我心头涌现出 ...