这个注入挺特殊的,是ip头注入。我们进行简单的探测:

首先正常发起一次请求,我们发现content-type是76

    

探测注入我习惯性的一个单引号:

一个单引号我发现长度还是76

  

我开始尝试单引号,双引号一起:

我失败了长度还是76

  

一般sql注入输入单引号一般长度都会有些变化。

  我记录深入探测,我输入'--%20

  

返回了200,并且长度是0,这让我产生了一丝好奇。这里很有可能存在注入哦。

  我继续探测:

  输入--%20

  

嘶!我不禁开始怀疑这里是不是本身就不存在安全问题呢?

  我都感觉像是数字类型了,很显然不是。。因为假设是数字类型注入输入'--%20会报错。

  那么究竟是什么问题呢?我觉得应该是过滤了注释符。过滤了--%20

  我开始换一种方式进行探测:

      我尝试输入'%20and%20'1'='1

  

返回200,长度为空,并且没有报false的提示,我觉得有戏,我尝试输入'%20and%20'1'='2

  

输出都一样。。。太坑了吧,这里我猜测可能过滤了and,也有可能过滤了空格

我们先把空格用+代替显示:

输入:'+and+'1'='1

  

返回长度还是76,继续输入:

'+and+'1'='2

没任何变化。好了+号测试了不行,我们试试还有啥方法可以代替空格?

输入'/**/and/**/'1'/**/=/**/'1:

返回长度76,继续输入:

'/**/and/**/'1'/**/=/**/'2

返回长度还是76。。没任何变化。

现在测试了三种方法,那么这里继续推测1.可能过滤了and 2.可能过滤了=号

基于这两种过滤,我开始尝试把and 替换成or,把=替换成/**/

  再进行输入新的payload:

'/**/or/**/'1'/**/like/**/'1

oh!我感觉我有希望了,他终于返回了不一样的结果,接下来继续探测:

输入:'/**/or/**/'1'/**/like/**/'2

返回长度76,至此我可以很确认这是个sql注入。

现在我们在理清下思路:

  1.使用like代替=

  2.使用/**/代替空格

  3.使用or代替and

  然后我们构造如下payload进行探测数据库user:

    '/***/OR/****/1/****/like/****/case/****/when/****/substr(user,1,1)/**/Like/***/'a'/**/then/**/1/****/else/****/exp(1111)/**/end/***/and/**/ '1'='1

    成功遍历出数据库第一位是J:

    

然后我们依次往下遍历就是了就能得到完整的user内容。

简单的演示下整个注入的过程。

这次遇到的注入让我知道了,坚持就是胜利!

记录一次Oracle注入绕waf的更多相关文章

  1. 一次简单的SQL注入绕WAF

    本人也是小白一枚,大佬请绕过,这个其实是六月份的时候做的,那时候想多点实战经验,就直接用谷歌搜索找了一些网站,这个是其中一个 1.目标网站 2.发现有WAF防护 3.判断存在注入 4.猜测了一下闭合为 ...

  2. WEB安全番外第五篇--关于使用通配符进行OS命令注入绕WAF

    一.通配符简介: 一般来讲,通配符包含*和?,都是英文符号,*用来匹配任意个任意字符,?用来匹配一个任意字符. 举个例子使用通配符查看文件,可以很名下看到打卡的文件是/etc/resolv.conf: ...

  3. SQL注入绕WAF总结

    0x00 前言 在服务器客户端领域,曾经出现过一款360主机卫士,目前已停止更新和维护,官网都打不开了,但服务器中依然经常可以看到它的身影.从半年前的测试虚拟机里面,翻出了360主机卫士Apache版 ...

  4. BUUCTF-[网鼎杯 2018]Fakebook(SSRF+联合注入绕Waf)

    记一道SSRF配合SQL注入的题. 喜欢在做题之前扫一下网站的目录,扫到了robots.txt文件可以访问,拿到user.php.bak的源码.同时还有flag.php. <?php class ...

  5. SQL注入绕过waf的一万种姿势

      绕过waf分类: 白盒绕过: 针对代码审计,有的waf采用代码的方式,编写过滤函数,如下blacklist()函数所示: 1 ........ 2 3 $id=$_GET['id']; 4 5 $ ...

  6. 绕WAF常见思路整理(一)

    最*被*台的一些事情搞得心态有点崩,很久没写文了 *期想整理一下常见的各种操作中绕过WAF的思路与免杀的思路(这部分之前没整理完以后有机会再说),受限于个人水*因素所以一定是不完全的,而且在WAF日新 ...

  7. 绕WAF&安全狗新姿势

    俗话说只要思路宽,绕狗绕的欢.前段时间我有尝试着用以下的方法绕狗,效果还不错.不过这方法呢也许这段时间可以绕过,过段时间可能就失效了,大家还是要多去尝试找到更多的方法. 举例-->整型注入 绕过 ...

  8. Burpsuit分块传输插件绕WAF原理和技巧(转)

      0x00 原理 给服务器发送payload数据包,使得waf无法识别出payload,当apache,tomcat等web容器能正常解析其内容.如图一所示 0x02  实验环境 本机win10+x ...

  9. 【ORACLE】记录通过执行Oracle的执行计划查询SQL脚本中的效率问题

    记录通过执行Oracle的执行计划查询SQL脚本中的效率问题   问题现象: STARiBOSS5.8.1R2版本中,河北对帐JOB执行时,无法生成发票对帐文件.   首先,Quartz表达式培植的启 ...

随机推荐

  1. Oracle database link中查询会开启事务吗?

    关于oracle database link,使用database link相关的查询语句是否会开启事务呢?我们知道,在数据库中一个简单的SELECT查询语句不会产生事务(select for upd ...

  2. [20190401]跟踪dbms_lock.sleep调用.txt

    [20190401]跟踪dbms_lock.sleep调用.txt --//自己在semtimedop函数调用理解错误,加深理解,跟踪dbms_lock.sleep调用的情况. 1.环境:SCOTT@ ...

  3. 用idhttp打开网页或下载文件时如何显示进度

    在它的workbegin work事件中写代码 procedure TfrmDownLoad.IdHTTP1WorkBegin(Sender: TObject;   AWorkMode: TWorkM ...

  4. Elixir 分布式平台

    概述 分布式平台的核心在于并发,容错. 而 Elixir 的优势正是在于对于并发和容错的处理. 分布式模型 CSP(Communicating Sequential Process) 模型 :: 多个 ...

  5. jQuery each、节点操作、动画演示、尺寸操作、扩展方法

    一.each 1.方式一:$.each(数组或者自定义对象,function(i,j){console.log(i,j)}) $.each(li,function(i,j){ console.log( ...

  6. gpio led学习

    2.弄清楚寄存器,gpio等之间的关系,to thi tha 比如: https://www.ggdoc.com/bGludXggZ3Bpb_aTjeS9nA2/NmIzNDIyZGZmMTExZjE ...

  7. R语言学习——处理数据对象的实用函数

    length(object) # 显示对象中元素/成分的数量 dim(boject) # 显示某个对象的维度 str(object) # 显示某个对象的结构 class(object) # 显示某个对 ...

  8. 两台主机,ssh端口不同,如何拷贝文件

    A主机ip:172.26.225.199 ssh端口12995 B主机ip:172.26.225.200 ssh端口12991 将B主机的文件拷贝到A主机 [root@test2019030517 s ...

  9. leetcode 136. Single Number 、 137. Single Number II 、 260. Single Number III(剑指offer40 数组中只出现一次的数字)

    136. Single Number 除了一个数字,其他数字都出现了两遍. 用亦或解决,亦或的特点:1.相同的数结果为0,不同的数结果为1 2.与自己亦或为0,与0亦或为原来的数 class Solu ...

  10. TensorRT&Sample&Python[fc_plugin_caffe_mnist]

    本文是基于TensorRT 5.0.2基础上,关于其内部的fc_plugin_caffe_mnist例子的分析和介绍. 本例子相较于前面例子的不同在于,其还包含cpp代码,且此时依赖项还挺多.该例子展 ...