当前位置: 首页 > news >正文

Sqlmap中文使用手册 - Enumeration模块参数使用

目录

  • 1. Enumeration模块的帮助文档
  • 2. 各个参数的介绍
    • 2.1 -a, --all
    • 2.2 -b, --banner
    • 2.3 --current-user
    • 2.4 --current-db
    • 2.5 --hostname
    • 2.6 --is-dba
    • 2.7 --users
    • 2.8 --passwords
    • 2.9 --privileges
    • 2.10 --roles
    • 2.11 --dbs
    • 2.12 --tables
    • 2.13 --columns
    • 2.14 --schema
    • 2.15 --count
    • 2.16 --dump
    • 2.17 --dump-all
    • 2.18 --search


1. Enumeration模块的帮助文档


Enumeration:These options can be used to enumerate the back-end databasemanagement system information, structure and data contained in thetables-a, --all           Retrieve everything-b, --banner        Retrieve DBMS banner--current-user      Retrieve DBMS current user--current-db        Retrieve DBMS current database--hostname          Retrieve DBMS server hostname--is-dba            Detect if the DBMS current user is DBA--users             Enumerate DBMS users--passwords         Enumerate DBMS users password hashes--privileges        Enumerate DBMS users privileges--roles             Enumerate DBMS users roles--dbs               Enumerate DBMS databases--tables            Enumerate DBMS database tables--columns           Enumerate DBMS database table columns--schema            Enumerate DBMS schema--count             Retrieve number of entries for table(s)--dump              Dump DBMS database table entries--dump-all          Dump all DBMS databases tables entries--search            Search column(s), table(s) and/or database name(s)--comments          Check for DBMS comments during enumeration--statements        Retrieve SQL statements being run on DBMS-D DB               DBMS database to enumerate-T TBL              DBMS database table(s) to enumerate-C COL              DBMS database table column(s) to enumerate-X EXCLUDE          DBMS database identifier(s) to not enumerate-U USER             DBMS user to enumerate--exclude-sysdbs    Exclude DBMS system databases when enumerating tables--pivot-column=P..  Pivot column name--where=DUMPWHERE   Use WHERE condition while table dumping--start=LIMITSTART  First dump table entry to retrieve--stop=LIMITSTOP    Last dump table entry to retrieve--first=FIRSTCHAR   First query output word character to retrieve--last=LASTCHAR     Last query output word character to retrieve--sql-query=SQLQ..  SQL statement to be executed--sql-shell         Prompt for an interactive SQL shell--sql-file=SQLFILE  Execute SQL statements from given file(s)


2. 各个参数的介绍



2.1 -a, --all


参数: -a, --all

作用:Retrieve everything。检索访问的所有内容。不推荐这样做,会产生大量的请求来检索无用的数据。



2.2 -b, --banner


参数: -b, --banner

作用:Retrieve DBMS banner。检索数据库管理系统的详细信息。

背景:大多数现代数据库管理系统都有一个函数或一个环境变量,它返回数据库管理系统版本,并最终返回其修补程序级别(即底层系统)的详细信息。通常该函数是version()和环境变量@@version,但是这取决于目标DBMS。



2.3 --current-user


参数:–current-user

作用:Retrieve DBMS current user。检索数据库管理系统的当前用户。



2.4 --current-db


参数:–current-db

作用:Retrieve DBMS current database。检索web应用程序链接到的数据库管理系统的数据库名称。



2.5 --hostname


参数:–hostname

作用:Retrieve DBMS server hostname。检索数据库管理系统的主机名。



2.6 --is-dba


参数:–is-dba

作用:Detect if the DBMS current user is DBA。可以检测当前数据库管理系统会话用户是否是数据库管理员(也称为DBA)。如果是,sqlmap则返回True ,反之亦然False。



2.7 --users


参数:–users

作用:Enumerate DBMS users。枚举用户列表,如果当前用户有读取包含有关DBMS用户信息的系统表的权限。



2.8 --passwords


参数:–passwords

作用:Enumerate DBMS users password hashes。枚举每个用户的密码哈希值,如果当前用户有读取包含有关DBMS用户信息的系统表的权限。

使用:sqlmap将首先枚举用户,然后针对每个用户使用不同的密码哈希。还可以使用开关-U来指定要破解哪个用户的密码hash,如果值为CU,则会自动破解当前用户的密码。

例如:
python sqlmap.py -u "http://192.168.136.131/sqlmap/pgsql/get_int.php?id=1" --passwords -U CU



2.9 --privileges


参数: --privileges

作用:Enumerate DBMS users privileges。枚举每个用户的权限,如果当前用户有读取包含有关DBMS用户信息的系统表的权限。

使用:通过权限,sqlmap还会显示哪些是数据库管理员。

还可以使用-U指定用户,如果值为CU,则默认为当前用户。



2.10 --roles


参数:–roles

作用:Enumerate DBMS users roles。枚举每个用户的角色,如果当前用户有读取包含有关DBMS用户信息的系统表的权限。此功能仅在DBMS为Oracle时可用。

使用:还可以使用-U指定用户。如果值为CU,则默认为当前用户。



2.11 --dbs


参数: --dbs

作用:Enumerate DBMS databases。枚举出所有的数据库,如果当前用户有读取包含有关DBMS用户信息的系统表的权限。



2.12 --tables


参数:–tables

作用:Enumerate DBMS database tables。枚举数据库的所有表,如果当前用户有读取包含有关DBMS用户信息的系统表的权限。

使用:

  1. 只使用--tables开关来列举数据库表,sqlmap将列出所有数据库的表。
  2. -D DBname:DBMS database to enumerate,指定数据库,将列出指定数据库的所有表。
  3. --exclude-sysdbs:Exclude DBMS system databases when enumerating tables,来排除系统数据库。



2.13 --columns


参数:–columns

作用:Enumerate DBMS database table columns。枚举数据库的表的字段名字,如果当前用户有读取包含有关DBMS用户信息的系统表的权限。

使用:

  1. -T指定表,-D指定数据库,-C指定列。
  2. 若只指定了数据表而没有指定数据库则默认使用当前数据库。
  3. 若没有指定列则列举表中全部列。



2.14 --schema


参数:–schema

作用:Enumerate DBMS schema。用户可以使用此开关获取数据库的架构,包含数据库、表和字段,以及各自的类型。

使用:使用--exclude-sysdbs,将不会获取数据库自带的系统库内容。



2.15 --count


参数: --count

作用:Retrieve number of entries for table(s)。如果用户想要知道表中的数据个数,而不是数据内容,可以使用这个开关。



2.16 --dump


参数: --dump

作用:Dump DBMS database table entries。如果当前管理员有权限读取数据库的其中一个表的话,那么就能获取整个表的所有内容。

使用:

  1. 使用-T-D参数指定数据库和数据库表,如果不指定数据库的话,则默认使用当前数据库。
  2. 使用--dump-D可以获取数据库所有表的内容(不使用-C-T)。

背景:

Sqlmap会自动将参数–dump列举的数据保存到CSV格式文件中,文件具体路径会在Sqlmap的输出中给出。

若只想列举部分数据可以使用参数–start–stop分别从某个条目开始输出存储,并在某个条目处停止。如只想列举第一条数据可以添加–stop 1

只想列举第二和第三条数据可以添加–start 1 –stop 3

你还可以使用--first--last限制输出的字符范围,例如如果你只想输出第三列到第五列的条目,那么你可以使用--first 3 --last 5。此功能只适用于盲注,因为对于报错注入和联合注入,列数量需要完全相同。

有时候(例如,对于Microsoft SQL Server,Sybase和SAP MaxDB),因为列数据类型不同,sqlmap不能直接利用OFFSET m,n对列进行输出。在这种情况下,sqlmap会输出最适合的pivot列,然后利用此列来检索其他的列,有时候当sqlmap选择的privot列不正确时,我们可以使用参数--pivot-column(例如–pivot-column=id)来指定pivot列。

除了使用上述参数来限制输出的列数(或者条目),还可以使用--where参数,后面接的合理语句将会被自动转换为where语句,例如--where id>3则 只会列举id>3的条目。

像你目前为止所了解到的那样,sqlmap非常的灵活。你可以自动输出全部的数据,也可以自定义需要输出的列数和条目。



2.17 --dump-all


参数:–dump-all

作用:Dump all DBMS databases tables entries。列举所有数据库所有表中所有数据

使用:可同时加上参数–exclude-sysdbs排除系统数据库。



2.18 --search


参数:–search

作用:Search column(s), table(s) and/or database name(s)。用来搜索特定的数据库名称,在所有数据库中搜索特定表,在数据表中搜索特定的列。

使用:

需要和下面三个选项一起使用:

参数作用
-C COLDBMS database table column(s) to enumerate。
后面跟着用逗号分割的列名,将会在所有数据库表中搜索指定的列名
-T TBLDBMS database table(s) to enumerate。
后面跟着用逗号分割的表名,将会在所有数据库中搜索指定的表名
-D DBDBMS database to enumerate。
后面跟着用逗号分割的数据库名,将会在所有数据库中搜索指定的库名



相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【前端面试】九、框架
  • 青岛实训DAY18
  • 什么是 5G?
  • JVM—对象已死?
  • 模拟算法概览
  • 【Python】如何编写一个Scrapy扩展(Scrapy Extension)
  • 如何从PyTorch迁移到MindSpore
  • 求值(河南萌新2024)
  • (面试必看!)锁策略
  • python爬虫入门(五)之Re解析
  • Kafka 消费者启动后与服务器的交互流程
  • python实现提取视频帧的图片
  • vue3 主页面 跳转到子页面后 ,再次切换到主页面后 主页面及其它的所有页面 竟然不显示了的解决。
  • 企业做数据治理的意义是什么
  • 计算机网络必会面经
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • Apache Spark Streaming 使用实例
  • django开发-定时任务的使用
  • docker-consul
  • HashMap剖析之内部结构
  • JavaScript HTML DOM
  • Objective-C 中关联引用的概念
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • vagrant 添加本地 box 安装 laravel homestead
  • 力扣(LeetCode)965
  • 前端js -- this指向总结。
  • 前端技术周刊 2019-01-14:客户端存储
  • 深入浏览器事件循环的本质
  • 使用 @font-face
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • Android开发者必备:推荐一款助力开发的开源APP
  • postgresql行列转换函数
  • UI设计初学者应该如何入门?
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • ​linux启动进程的方式
  • !$boo在php中什么意思,php前戏
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #DBA杂记1
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (1)Nginx简介和安装教程
  • (CPU/GPU)粒子继承贴图颜色发射
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (十六)Flask之蓝图
  • (十三)Maven插件解析运行机制
  • (一)为什么要选择C++
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • .describe() python_Python-Win32com-Excel
  • .net core 依赖注入的基本用发
  • .Net Core 中间件与过滤器
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET 直连SAP HANA数据库
  • .NET/C# 获取一个正在运行的进程的命令行参数