sqlmap获取表名参数是什么语言编写?


· TA获得超过3.3万个赞

该注入语句要做的就是从数据库查询用户jonnybravo,获取数据后立刻终止查询(利用单引号),之后紧接着一条OR语句,由于这是一条“if状态”查询语句,而且这里给出 “or 1=1”,表示该查询永远为真。1=1表示获取数据库中的所有记录,之后的;–表示结束查询,告诉数据库当前语句后面没有其它查询语句了。

图1 正常方式查看用户信息
将payload注入后,服务器泄露了数据库中的所有用户信息。如图2所示:

图2 注入payload导致数据库中所有数据泄露
至此,本文向读者演示了一种基本SQL注入,下面笔者用BackTrack和Samurai 等渗透测试发行版中自带的SQLmap工具向读者演示。要使用SQLmap,只需要打开终端,输入SQLmap并回车,如下图所示:

如果读者首次使用SQLmap,不需要什么预先操作。如果已经使用过该工具,需要使用—purge-output选项将之前的输出文件删除,如下图所示:

这里必须在请求头中指定一个IP地址,使KALI linux能与XP正常通信,修改如下图所示:

之后命令就能正常执行了,显示结果如下图所示:

下图是笔者系统中SQLmap正在对指定的请求进行检测时显示的数据库列表:

首先它会确定给定的参数是否可注入。根据本文演示的情况,我们已经设置OWASP mutillidae的安全性为0,因此这里是可注入的,同时SQLmap也检测到后台数据库DBMS可能为MYSQL。

如上图所示,工具识别后台数据库可能为MYSQL,因此提示用户是否跳过其它类型数据库的检测。
“由于本文在演示之前已经知道被检测数据库是MYSQL,因此这里选择跳过对其它类型数据库的检测。”
之后询问用户是否引入(include)测试MYSQL相关的所有payload,这里选择“yes”选项:

测试过一些payloads之后,工具已经识别出GET参数上一个由错误引起的注入问题和一个Boolean类型引起的盲注问题。

之后显示该GET参数username是一个基于MYSQL union(union-based)类型的查询注入点,因此这里跳过其它测试,深入挖掘已经找出的漏洞。

至此,工具已经识别出应该深入挖掘的可能的注入点:

这里-p选项表示要注入的参数,“–current-user“选项表示强制SQLmap查询并显示登录MYSQL数据库系统的当前用户。命令得到输出如下图所示:

同时也可以看到工具也识别出了操作系统名,DBMS服务器以及程序使用的编程语言。
“”当前我们所做的就是向服务器发送请求并接收来自服务器的响应,类似客户端-服务器端模式的交互。我们没有直接与数据库管理系统DBMS交互,但SQLmap可以仍识别这些后台信息。
同时本次与之前演示的SQL注入是不同的。在前一次演示SQL注入中,我们使用的是前缀与后缀,本文不再使用这种方法。之前我们往输入框中输入内容并等待返回到客户端的响应,这样就可以根据这些信息得到切入点。本文我们往输入框输入永远为真的内容,通过它判断应用程序的响应,当作程序返回给我们的信息。“
我们已经给出当前的用户名,位于本机,下面看看它在后台做了什么。前文已经说过,后台是一个if判断语句,它会分析该if查询,检查username为jonnybravo且7333=7333,之后SQLmap用不同的字符串代替7333,新的请求如下:

如上所示,第一个和最后一个查询请求结果为假,另两个查询请求结果为真,因为当前的username是root@localhost,包含字母l和s,因此这两次查询在查询字母表时会给出包含这两个字母的用户名。

有时可能没有成功获取到密码,只得到一个NULL输出,那是因为系统管理员可能没有为指定的用户设定认证信息。如果用户是在本机测试,默认情况下用户root@localhost是没有密码的,需要使用者自己为该用户设置密码,可以在MySQL的user数据表中看到用户的列表,通过双击password区域来为其添加密码。或者可以直接用下图所示的命令直接更新指定用户的密码:

这里将密码设置为“sysadmin“,这样SQLmap就可以获取到该密码了,如果不设置的话,得到的就是NULL。
通过以上方法,我们不直接与数据库服务器通信,通过SQL注入得到了管理员的登录认证信息。
本文描述的注入方法就是所谓的SQL盲注,这种方法更繁琐,很多情况下比较难以检测和利用。相信读者已经了解传统SQL注入与SQL盲注的不同。在本文所处的背景下,我们只是输入参数,看其是否以传统方式响应,之后凭运气尝试注入,与之前演示的注入完全是不同的方式。

下载百度知道APP,抢鲜体验

使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。

}

    sqlmap介绍 内容精选 换一换

  • 介绍 应用场景 并行查询特性介绍 父主题: MySQL OLAP 并行优化 特性指南

  • 在默认的MySQL连接器下,MySQL服务会为每个接入的连接分配一个线程,当连接数非常大时,线程的上下文切换及线程之间热锁的竞争将无意义的占用CPU,导致服务性能下降。本特性基于Percona线程池,并加入了新的优化和bug修复,为Linux下的MySQL服务引入线程池的连

  • 介绍 全文检索概述 文档概念 基本文本匹配 分词器 父主题: 全文检索

  • 介绍 全文检索概述 文档概念 基本文本匹配 分词器 父主题: 全文检索

  • 介绍 全文检索概述 文档概念 基本文本匹配 分词器 父主题: 全文检索

  • Cloud,简称VPC)的子网内,VPC通过逻辑方式进行网络隔离,为用户的集群提供安全、隔离的网络环境。 MapReduce服务 CDM支持从MapReduce服务(MapReduce Service,简称MRS)导入、导出数据。 对象存储服务 CDM支持从对象存储服务(Object

  • Spark与HDFS和YARN的关系 Spark和HDFS的关系 通常,Spark中计算的数据可以来自多个数据源,如Local File、HDFS等。最常用的是HDFS,用户可以一次读取大规模的数据进行并行计算。在计算完成后,也可以将数据存储到HDFS。 分解来看,Spark分成

  • 在默认的MySQL连接器下,MySQL服务会为每个接入的连接分配一个线程,当连接数非常大时,线程的上下文切换及线程之间热锁的竞争将无意义的占用CPU,导致服务性能下降。本特性基于Percona线程池,并加入了新的优化和bug修复,为Linux下的MySQL服务引入线程池的连

  • 介绍 MinIO是一个轻量级非结构化分布式文件存储服务。它兼容亚马逊S3云存储服务接口,非常适合存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几KB到最大5T不等。MinIO是一个非常轻量的服务,可以很简单地和其

  • 介绍 简要介绍 Greenplum是一个面向数据仓库应用的关系型数据库,因为有良好的体系结构,所以在数据存储、高并发、高可用、线性扩展、反应速度、易用性和性价比等方面有非常明显的优势。Greenplum是一种基于PostgreSQL的分布式 数据库,其采用shared nothi

  • 择MySQL作为网站数据库。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权模式,分为社区版和商业版。 关于MySQL的更多信息请访问MySQL官网。 开发语言:C/C++ 一句话描述:关系型数据库。 建议的版本 文档适用MySQL 8.0

  • 开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。 MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。 MySQL软件采用了双授权模式,分为社区版和商业版。 关于MySQL的更多信息请访问MySQL官网。 开发语言:C/C++ 一句话描述:关系型数据库。

  • 介绍 简要介绍 Greenplum是一个面向数据仓库应用的关系型数据库,因为有良好的体系结构,所以在数据存储、高并发、高可用、线性扩展、反应速度、易用性和性价比等方面有非常明显的优势。Greenplum是一种基于PostgreSQL的分布式 数据库,其采用shared nothi

  • 择MySQL作为网站数据库。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权模式,分为社区版和商业版。 关于MySQL的更多信息请访问MySQL官网。 开发语言:C/C++ 一句话描述:关系型数据库。 建议的版本 文档适用MySQL 8.0

  • 介绍 简要介绍 Cobar是关系型数据的分布式处理系统,可以在分布式的环境下像传统数据库一样提供海量数据服务,是提供关系型数据库(MySQL)分布式服务的中间件,它可以让传统的数据库得到良好的线性扩展。将数据和访问从集中式改变为分布式,支持将一张表水平拆分成多份分别放入不同的库来

  • Postmaster是整个数据库实例的总控进程,负责启动和关闭该数据库实例。

  • 介绍 简要介绍 Nginx 是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用

  • 介绍 Sysbench是业内广泛使用的开源、跨平台的多线程性能测试工具,可以用来进行MySQL数据库的性能测试。Sysbench也是目前阿里巴巴用于评估RDS性能的工具之一。Sysbench提供了主要的select、update、insert和delete四种主要的测试模型,除此

  • 介绍 Minimap2是一种快速的序列比对程序,可将DNA或MRNA序列与大型参考数据库对齐。 语言:C/C++。 一句话描述:Minimap2是一种多功能基因序列比对程序。 开源协议:MIT。 建议的版本 建议通过git下载最新版本。 父主题:

  • 介绍 简要介绍 TiDB(“ Ti”代表Titanium)是一个开源的NewSQL数据库,它支持混合事务处理和分析处理(HTAP)工作负载。它与MySQL兼容,具有水平可伸缩性,强一致性和高可用性。 建议的版本 TiDB 3.0.13 本文档适用于TiDB 3.0.13,其他版本的TiDB编译步骤也可参考本文档。

  • 介绍 简要介绍 TiDB(“ Ti”代表Titanium)是一个开源的NewSQL数据库,它支持混合事务处理和分析处理(HTAP)工作负载。它与MySQL兼容,具有水平可伸缩性,强一致性和高可用性。 建议的版本 TiDB 3.0.13 本文档适用于TiDB 3.0.13,其他版本的TiDB编译步骤也可参考本文档。

  • 介绍 简要介绍 Greenplum是一个面向数据仓库应用的关系型数据库,因为有良好的体系结构,所以在数据存储、高并发、高可用、线性扩展、反应速度、易用性和性价比等方面有非常明显的优势。Greenplum是一种基于PostgreSQL的分布式数据库,其采用shared-nothin

  • 介绍 数据库服务器存储了企业的一些最有价值的信息,因此需要可靠的数据库备份以防止发生故障时数据丢失。Percona XtraBackup工具提供了一种在系统运行时对MySQL数据执行热备份的方法。Percona XtraBackup是针对MySQL的免费、在线、开源的完整数据库备份解决方案。Percona

  • MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品,MariaDB还提供了许多更好的新特性。 MariaDB架构如图1所示。 图1

  • 介绍 简要介绍 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强,支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能,并且支持很多第三方的模块扩展。 开发语言:C

  • 介绍 Phoenix是构建在HBase上的一个SQL层,能让我们用标准的JDBC APIs而不是HBase客户端APIs来创建表,插入数据和对HBase数据进行查询。Phoenix完全使用Java编写,作为HBase内嵌的JDBC驱动。Phoenix查询引擎会将SQL查询转换为一

  • 介绍 简要介绍 Percona Server由领先的MySQL咨询公司Percona发布。 Percona Server是一款独立的数据库产品,其可以完全与MySQL兼容,可以在不更改代码的情况了下将存储引擎更换成XtraDB 。

  • 择MySQL作为网站数据库。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权模式,分为社区版和商业版。 关于MySQL的更多信息请访问MySQL官网。 开发语言:C/C++ 一句话描述:关系型数据库。 建议的版本 文档适用MySQL 8.0

  • MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品,MariaDB还提供了许多更好的新特性。 MariaDB的架构如图1所示。

  • 开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。 MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。 MySQL软件采用了双授权模式,分为社区版和商业版。 关于MySQL的更多信息请访问MySQL官网。 开发语言:C/C++ 一句话描述:关系型数据库。

  • MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品,MariaDB还提供了许多更好的新特性。 MariaDB的架构如图1所示。

  • 介绍 简要介绍 Percona Server由领先的MySQL咨询公司Percona发布。 Percona Server是一款独立的数据库产品,其可以完全与MySQL兼容,可以在不更改代码的情况了下将存储引擎更换成XtraDB 。

  • 择MySQL作为网站数据库。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权模式,分为社区版和商业版。 关于MySQL的更多信息请访问MySQL官网。 开发语言:C/C++ 一句话描述:关系型数据库。 建议的版本 文档适用MySQL 8.0

  • MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品,MariaDB还提供了许多更好的新特性。 MariaDB架构如图1所示。 图1

  • 介绍 简要介绍 ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。 ClickHouse独特的功能: 真正的列式数据库管理系统 数据压缩 数据的磁盘存储 多核心并行处理 多服务器分布式处理 支持SQL 向量引擎 实时的数据更新 索引 适合在线查询

提交成功!非常感谢您的反馈,我们会继续努力做到更好 反馈提交失败!请稍后重试!

}

我要回帖

更多关于 sql如何查询某个表的列名 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信