从偶然的机会发现一个mysql特性到wooyun waf绕过题

MayIKissYou | 2015-06-19 12:00

最近在测试的时候,偶然的机会发现了一个mysql的特性,

为啥是偶然的机会呢。。。。。

一次测试的过程中我在mysql的console下做了如下的操作:

看出些什么了么?

我当时发现报错的时候例如-+{等符号 报错的时候提示的是''(双引号里没东西),但是如select后面添加1 a等内容的时候报的是

selecta,select1等等。

想到共性了么,-+{等等内容是能够直接添加到select后面的,知其那那个sql总结的帖子里有,

例如

select-1;

select+1;

select{x 1};

而select后面直接跟1 a的时候就不可以直接报错了。

再回过头去看那张图的时候发现select后面直接跟.的时候尽然也是提示的'',此时就开始怀疑select后面也应该是能够直接跟.号的。

因此我们现在确定了select.的形式,此时想要做的是怎么闭合这个语句,使得该语句能够正常的执行。

又开始手工能够测试:

测试了多少payload,我也不记得了,最后当输入以下内容的时候,让我小happy了一下:

竟然提示的是

Unknown table '1' in field list

然后我就做了如下的操作:

看到没竟然成功了使用的语句是:

select.``.schema_name from information_schema.schemata;

ps.我只能说运气不错。

就这样证明了select后面直接跟.也是可以的。

---------------------------------------------------------华丽的分割线----------------------------

wooyun waf绕过

这是痛苦的经历,测试的过程中感觉到和往常的waf有点不同,感觉每当我拼凑出来的bypass语句能够执行的时候就出现了bad hacker。

由于我是大晚上12点开始弄得,发现已经有答案了,测试了1个多小时没有结果之后就去看了下write up。

我擦勒竟然完全和自己的做法不在同一频道,完全没想到这位牛使用的方法。

整理下思路吧

1:输入'报错了,一个like的查询语句,试试了初步判断里面没有内容,然后没有回显,而sql报错的时候不是mysql自己的报错,基本不能使用union,和报错注入,考虑时间盲注了。

ps.自己之前一直在和那个union的过滤较劲,关键是没摸出到底是啥规则,好吧今天来的时候小v说不是基于规则的,我擦勒有点累蹦。

2:由于基于时间盲住了因此就会有类似这样的模式:

if(你这样,睡几秒,不睡)

貌似and这种玩意都不能用,于是就直接使用运算符号吧:

http://rile.gou.gg/search?query=1%27>(select[])

在这里的时候输入各种玩意都返回报错,后来试了下select.貌似成功了。

感觉应该有戏了,反反复复拼凑下得到了如下的payload,哈哈这里我偷懒没有去自己爆数据了直接拿了那位大牛爆出的表名,最终的payload

http://rile.gou.gg/search?query=1%27>(select.``.schema_name from (select.``.schema_name,if(ascii(mid((select * from test.flag),1,1))=102,(benchmark(5000000,sha(1))),1) from information_schema.schemata)x)%23

用lijiejie的脚本改一下,然后直接报flag:

结果少了几位 没爆出来,延时不稳定没= =

ps.好吧 被恶心到了 现在已经困如*了

从偶然的机会发现一个mysql特性到wooyun waf绕过题的更多相关文章

  1. PJzhang:我发现一个有两个答案的数独题

    猫宁!!! 最近做数独题,发现了一个答案不唯一的数独,之前对此类数独有所耳闻,但是没有亲手发现,碰巧发现一个,很是欣喜.   下面展示了两个答案   第一个 ​​   第二个 ​​   绿色标签是答案 ...

  2. 学习笔记:发现一个IE版本判断的好方法

    web开发就不得不面对浏览器兼容性问题,特别是IE的兼容问题.在前端代码中经常要处理一些兼容格式,为了解决这个问题网上找了找识别浏览器版本的方法.   常规js方法 找到一个方法,还不错,可以识别出各 ...

  3. MySQL · 特性分析 · 优化器 MRR & BKA【转】

    MySQL · 特性分析 · 优化器 MRR & BKA 上一篇文章咱们对 ICP 进行了一次全面的分析,本篇文章小编继续为大家分析优化器的另外两个选项: MRR & batched_ ...

  4. 【JMeter】JMeter完成一个MySql压力测试

    jmeter也可以用来做数据库的压力测试,并且兼容各种数据库类型,只需要更改对应的数据库驱动类和url.以下为整理到的数据库驱动类对应url.并且给出一个mysql数据库select的简单应用.如下: ...

  5. MySQL学习笔记之中的一个 MySQL入门

    本人之前接触的关系型数据库主要是oracle和sqlserver,而对于mysql知之甚少,但查阅网上资料发现,mysql与oracle非常相似,所以学起来应该不会非常费劲,在总结的时候可能很多其它的 ...

  6. 51ak带你看MYSQL5.7源码3:修改代码实现你的第一个Mysql版本

    从事DBA工作多年 MYSQL源码也是头一次接触 尝试记录下自己看MYSQL5.7源码的历程 目录: 51ak带你看MYSQL5.7源码1:main入口函数 51ak带你看MYSQL5.7源码2:编译 ...

  7. linux 下程序员专用搜索源码用来替代grep的软件ack(后来发现一个更快的: ag), 且有vim插件的

    发现一个比ack更快更好用的:  https://github.com/ggreer/the_silver_searcher   , 使用时命令为ag,它是基于ack的代码二次开发的,所有使用方法基本 ...

  8. (转)一个MySQL 5.7 分区表性能下降的案例分析

    一个MySQL 5.7 分区表性能下降的案例分析 原文:http://www.talkwithtrend.com/Article/216803 前言 希望通过本文,使MySQL5.7.18的使用者知晓 ...

  9. 性能是.NET Core的一个关键特性

    关键要点1).NET Core是跨平台的,可运行在Windows.Linux.Mac OS X和更多平台上:与.NET相比,发布周期要短得多.大多数.NET Core都是通过NuGet软件包交付的,可 ...

随机推荐

  1. LVS集群之NAT模式实现

    LVS集群之NAT模式实现 一.集群的种类 集群系统主要分为 1.HA:高可用集群,又叫双机热备.   (a)原理      2台机器A,B,正常是A提供服务,B待命闲置,当A宕机或服务宕掉,会切换至 ...

  2. java学习第一天 回顾以前

    1.1常量: 基本数据类型常量 字符常量 整数常量的表现形式:一进制的形式来表示(二进制,八进制,十进制,十六进制) 生活中:十进制(0-9)  ,星期(七进制(0-6)) ,时间(十二进制(0-11 ...

  3. js通过location.search来获取页面传来的参数

    这篇文章主要介绍了通过window.location.search来获取页面传来的参数,经测试是OK的 ? 1 2 3 4 5 function GetQueryString(name) { var ...

  4. 目标跟踪_MeanShift

    找到一些关于目标跟踪的资料 http://blog.csdn.net/jinshengtao/article/details/30258833 http://blog.sina.com.cn/s/bl ...

  5. 2016 ACM/ICPC Asia Regional Dalian Online(更新到五道题)

    1006 Football Games 这道题输入也很阴险!!! 这道题过题姿势最优雅的,不是if else if else if.那样很容易wa的. 如果没有平手选项, 赢得加一分的话, 可以用La ...

  6. 如何使用的Ue4自带的SQLiteSupport

    在UE4.6版本加入的模块.可以让开发者使用SQLite数据库.SQlite是个轻量型的本地数据库. 我下面就来介绍一下如何使用这个模块. 第一步:下载SQLite源代码以及SQLite GUI管理工 ...

  7. POJ 2386 题解

    Lake Counting 描述 Due to recent rains, water has pooled in various places in Farmer John's field, whi ...

  8. SPX Instant Screen Capture

    Today I will recommend a NICE screen capture tool, which name is SPA Instant Screen Capture. http:// ...

  9. C#_Express-ickd接口

    爱查快递接口使用 using System; using System.Collections.Generic; using System.IO; using System.Net; using Sy ...

  10. thinkphp pathinfo nginx 无法加载模块:Index

    thinkphp 报了 无法加载模块:Index 错误位置 FILE: /var/multrix/wxactivity_archive/ThinkPHP/Library/Think/Dispatche ...