从偶然的机会发现一个mysql特性到wooyun waf绕过题
从偶然的机会发现一个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绕过题的更多相关文章
- PJzhang:我发现一个有两个答案的数独题
猫宁!!! 最近做数独题,发现了一个答案不唯一的数独,之前对此类数独有所耳闻,但是没有亲手发现,碰巧发现一个,很是欣喜. 下面展示了两个答案 第一个 第二个 绿色标签是答案 ...
- 学习笔记:发现一个IE版本判断的好方法
web开发就不得不面对浏览器兼容性问题,特别是IE的兼容问题.在前端代码中经常要处理一些兼容格式,为了解决这个问题网上找了找识别浏览器版本的方法. 常规js方法 找到一个方法,还不错,可以识别出各 ...
- MySQL · 特性分析 · 优化器 MRR & BKA【转】
MySQL · 特性分析 · 优化器 MRR & BKA 上一篇文章咱们对 ICP 进行了一次全面的分析,本篇文章小编继续为大家分析优化器的另外两个选项: MRR & batched_ ...
- 【JMeter】JMeter完成一个MySql压力测试
jmeter也可以用来做数据库的压力测试,并且兼容各种数据库类型,只需要更改对应的数据库驱动类和url.以下为整理到的数据库驱动类对应url.并且给出一个mysql数据库select的简单应用.如下: ...
- MySQL学习笔记之中的一个 MySQL入门
本人之前接触的关系型数据库主要是oracle和sqlserver,而对于mysql知之甚少,但查阅网上资料发现,mysql与oracle非常相似,所以学起来应该不会非常费劲,在总结的时候可能很多其它的 ...
- 51ak带你看MYSQL5.7源码3:修改代码实现你的第一个Mysql版本
从事DBA工作多年 MYSQL源码也是头一次接触 尝试记录下自己看MYSQL5.7源码的历程 目录: 51ak带你看MYSQL5.7源码1:main入口函数 51ak带你看MYSQL5.7源码2:编译 ...
- linux 下程序员专用搜索源码用来替代grep的软件ack(后来发现一个更快的: ag), 且有vim插件的
发现一个比ack更快更好用的: https://github.com/ggreer/the_silver_searcher , 使用时命令为ag,它是基于ack的代码二次开发的,所有使用方法基本 ...
- (转)一个MySQL 5.7 分区表性能下降的案例分析
一个MySQL 5.7 分区表性能下降的案例分析 原文:http://www.talkwithtrend.com/Article/216803 前言 希望通过本文,使MySQL5.7.18的使用者知晓 ...
- 性能是.NET Core的一个关键特性
关键要点1).NET Core是跨平台的,可运行在Windows.Linux.Mac OS X和更多平台上:与.NET相比,发布周期要短得多.大多数.NET Core都是通过NuGet软件包交付的,可 ...
随机推荐
- LVS集群之NAT模式实现
LVS集群之NAT模式实现 一.集群的种类 集群系统主要分为 1.HA:高可用集群,又叫双机热备. (a)原理 2台机器A,B,正常是A提供服务,B待命闲置,当A宕机或服务宕掉,会切换至 ...
- java学习第一天 回顾以前
1.1常量: 基本数据类型常量 字符常量 整数常量的表现形式:一进制的形式来表示(二进制,八进制,十进制,十六进制) 生活中:十进制(0-9) ,星期(七进制(0-6)) ,时间(十二进制(0-11 ...
- js通过location.search来获取页面传来的参数
这篇文章主要介绍了通过window.location.search来获取页面传来的参数,经测试是OK的 ? 1 2 3 4 5 function GetQueryString(name) { var ...
- 目标跟踪_MeanShift
找到一些关于目标跟踪的资料 http://blog.csdn.net/jinshengtao/article/details/30258833 http://blog.sina.com.cn/s/bl ...
- 2016 ACM/ICPC Asia Regional Dalian Online(更新到五道题)
1006 Football Games 这道题输入也很阴险!!! 这道题过题姿势最优雅的,不是if else if else if.那样很容易wa的. 如果没有平手选项, 赢得加一分的话, 可以用La ...
- 如何使用的Ue4自带的SQLiteSupport
在UE4.6版本加入的模块.可以让开发者使用SQLite数据库.SQlite是个轻量型的本地数据库. 我下面就来介绍一下如何使用这个模块. 第一步:下载SQLite源代码以及SQLite GUI管理工 ...
- POJ 2386 题解
Lake Counting 描述 Due to recent rains, water has pooled in various places in Farmer John's field, whi ...
- SPX Instant Screen Capture
Today I will recommend a NICE screen capture tool, which name is SPA Instant Screen Capture. http:// ...
- C#_Express-ickd接口
爱查快递接口使用 using System; using System.Collections.Generic; using System.IO; using System.Net; using Sy ...
- thinkphp pathinfo nginx 无法加载模块:Index
thinkphp 报了 无法加载模块:Index 错误位置 FILE: /var/multrix/wxactivity_archive/ThinkPHP/Library/Think/Dispatche ...