sql注入之一次艰难的绕过-三层防护(oracle)
打开:www.xxxx.com/news/detail.jsp?id=2862

我们经过测试知道此处含有sql注入。我们尝试下:
http://www.xxxxxx.com/news/detail.jsp?id=2862%27 加入单引号,然后就报错:

可以看到,字符型注入。但是此处有防火墙。我们测试下 ‘ and 1=1-- +

可以看到,直接被防火墙拦截了。而且拦截及其变态。连anxd都拦截。
既然拦截了anxd,我们推测他应该是过滤的后面,比如1=1 那么我们换成1 like 1试试:

换成and 1 like 1会显示系统错误。在这里,相当于连最基础的正确语句都无法执行。可想而知,这个网站至少有两层过滤,一层防火墙,一层代码过滤。 like被过滤,只能硬拼了。直接硬钢waf。另外,如果此处为mysql+php那么绕过也许不会那么难受,但是此处是jsp+oracle。 Oracle语法基本就那么几种,像/*!50000 这种类型的都不可以用,所以给绕过带来了极大的困难。
我们直接钢waf。我们尝试是否有可以替代空格的进行绕过,看看waf是否有所疏漏,经过大量测试,发现/*%23%0a*/可以替换空格,进行绕过。我们尝试下:
And 1=1

And 1=2

看到成功,非常开心。然后当我满怀欣喜准备大杀四方的时候,输入order by 10的时候一脸懵逼:

居然又被防火墙拦截。前面不知道大家是否记得我说过了,此处防火墙最起码有两层过滤,但是经过我测试最终发现,其实有三层过滤。真是令人窒息的防火墙。
这样又增加了很多困难。在此处,因为要进行联合查询,而基本的order by 都会拦截,那么联合查询更难突破,因为要同时突破unon select from这三个无意是判了死刑。
联想到 http://www.xxxxxx.com/news/detail.jsp?id=2862%27 加入单引号,然后就报错:

我们可以采用显错注入。首先,我们来获取数据库名:

然后发现,又被拦截。虽然是意料之中,但是还是想说一句:我勒个擦。
经过测试发现拦截了utl_inaddr.get_host_name函数。众所周知,mysql可以用/*!information_schema*/.SCHEMATA 此语法进行绕过测试。但是oracle是肯定不支持此语法的。不信我们试试:

可以看到,执行失败,语法是错误的。我们不要灰心。
此处,我们思维就需要进行改变,我们不能像这种形式:/*!information_schema*/.SCHEMATA
但是可以这一种。information_schema./*!*/SCHEMATA
然后进行尝试:

成功绕过取得sys库。
sql注入之一次艰难的绕过-三层防护(oracle)的更多相关文章
- [转]高级SQL注入:混淆和绕过
############# [0×00] – 简介[0×01] – 过滤规避(Mysql)[0x01a] – 绕过函数和关键词的过滤[0x01b] – 绕过正则表达式过滤[0×02] – 常见绕过技术 ...
- 初探SQL注入
1.1注入语句(通过时间注入函数) 数据库名称 localhost:8080/ScriptTest/userServlet?username='union SELECT IF(SUBSTRING(cu ...
- SQL注入技术专题—由浅入深【精华聚合】
作者:坏蛋链接:https://zhuanlan.zhihu.com/p/23569276来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 不管用什么语言编写的Web应用 ...
- 十大关系数据库SQL注入工具一览
摘要:众所周知,SQL注入攻击是最为常见的Web应用程序攻击技术.同时SQL注入攻击所带来的安全破坏也是不可弥补的.以下罗列的10款SQL工具可帮助管理员及时检测存在的漏洞. BSQL Hacker ...
- Nikto是一款Web安全扫描工具,可以扫描指定主机的web类型,主机名,特定目录,cookie,特定CGI漏洞,XSS漏洞,SQL注入漏洞等,非常强大滴说。。。
Nikto是一款Web安全扫描工具,可以扫描指定主机的web类型,主机名,特定目录,cookie,特定CGI漏洞,XSS漏洞,SQL注入漏洞等,非常强大滴说... root@xi4ojin:~# cd ...
- 10个SQL注入工具(转载)
众所周知,SQL注入攻击是最为常见的Web应用程序攻击技术.同时SQL注入攻击所带来的安全破坏也是不可弥补的.以下罗列的10款SQL注入工具可帮助管理员及时检测存在的漏洞. BSQL Hacker 1 ...
- SQL注入学习资料总结
转载自:https://bbs.ichunqiu.com/thread-12105-1-1.html 什么是SQL注入 SQL注入基本介绍 结构化查询语言(Structured Query Lang ...
- 关于SQL注入,你应该知道的那些事
戴上你的黑帽,现在我们来学习一些关于SQL注入真正有趣的东西.请记住,你们都好好地用这些将要看到的东西,好吗? SQL注入攻击因如下几点而是一种特别有趣的冒险: 1.因为能自动规范输入的框架出现,写出 ...
- [转载] 我的WafBypass之道(SQL注入篇)
我的WafBypass之道(SQL注入篇) Web安全 作者:先知技术社区 2016-11-23 7,566 [本文转自安全脉搏战略合作伙伴先知技术社区 原帖地址 安全脉搏编辑huan97 ...
随机推荐
- 描述进程的PCB
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...
- win7下通过easyBCD引导安装Ubuntu16.04(并处理遇到的坑)
Ubuntu16.04作为目前最新版本的ubuntu系统,相信很多人都想在自己的电脑上安装一下,然而系统的安装方法各式各样,u盘法.grub引导法等等,这里我将介绍在win7系统下用easyBCD软件 ...
- Python常用数据结构之collections模块
Python数据结构常用模块:collections.heapq.operator.itertools collections collections是日常工作中的重点.高频模块,常用类型由: 计数器 ...
- ECharts 高度宽度自适应(转载)
最近在写一个地图类的应用,用的是echarts的图表,然而一上来就一脸懵逼,如果父级容器的height/width属性设置为百分比的形式,那么echarts就会warning,且不能正常的生成图表.所 ...
- 怎样才能收集到所有开发人员的blog(待续…)
第一个问题,如何找到尽可能多的博客地址? 1. 找到一个知名blog, 遍历这个博客的外链. 2. 遍历找到的外链,并以同样逻辑找到其他博客. 3. 如果遍历到的博客地址已经存在则停止遍历. 还有一种 ...
- 注册表命令 regedit32
转自 https://zhidao.baidu.com/question/1958216489744783460.html Regedt32.exe 不支持注册表项文件 (.reg) 的导入和导出. ...
- hql语句中的select字句和from 字句
package com.imooc.model; import java.util.List; import java.util.Map; import org.hibernate.Query; im ...
- asp.net core 一 Centos 环境部署
.netcore的运行环境,创建asp.net core 项目 CentOS 7 ,dotnet-sdk-2.0.0-2.0.0-1.x86_64 直接在liunx创建项目并运 ...
- MIPS中有关于分支指令及跳转寻址
分支指令 分支指令包含该指令,和两个操作数,以及跳转的分支地址,该地址是相对于下一条指令的相对地址 分支指令占6位 操作数1占5位 操作数2占5位 分支指令16位 例如 bne ...
- Yii2自带的验证码背景颜色怎么调?
看了下面的这张图片你就知道啦!