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 ...
随机推荐
- [ZJOI2008]骑士
[ZJOI2008]骑士 标签: DP 题目链接 题解 把边看成无向的. 其实就是求这个东西的最大独立集. 但是这不是树,怎么求呢? 其实还是一样的求法. 对于每一个连通块.最多有这个联通块的大小数目 ...
- Spring Boot - Font Awesome OTS parsing error: Failed to convert 字体加载失败
字体文件,加载不出来 解决方案 一 问题是Maven正在过滤字体文件并破坏它们. <resource> <directory>${project.basedir}/src/m ...
- 一个简单的定时表达式(HH:mm:ss)解析
前言 为客户开发了一个日志监控程序,监听各频道是否正常工作.其中有一个功能是这样的,当所有频道正常运行一段时间后,语音提示值班人员系统运行正常.一开始,想法比较简单,设置了一个变量,在线程不断轮询的过 ...
- include指令和include动作
- MysqL碎片整理优化
先来说一下什么是碎片,怎么知道碎片有多大! 简单的说,删除数据必然会在数据文件中造成不连续的空白空间,而当插入数据时,这些空白空间则会被利用起来.于是造成了数据的存储位置不连续,以及物理存储顺序与理论 ...
- C# 13行代码带你模拟登录QQ空间
最近想做一个QQ空间点赞的小工具,于是晚上下班回来就开始分析PC版的QQ空间,打开Chrome,切换到Network,然后输入账号密码,然后点击登录... 然后,我曹....一堆请求就开始了....搞 ...
- 弄懂 JRE、JDK、JVM 之间的区别与联系
其实很多 Java 程序员在写了很多代码后,你问他 jre 和 jdk 之间有什么关系,jvm 又是什么东西,很多人不知所云.本篇不会讲述 jvm 底层是如何与不同的系统进行交互的,而主要理清楚三者之 ...
- 内置函数--global() 和 local()
一 . globals :返回当前作用域内全局变量的字典. >>> globals() {'__spec__': None, '__package__': None, '__bu ...
- 【前端】Vue2全家桶案例《看漫画》之一、添加四个导航页
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_1.html 项目github地址:https://github.com/shamoyuu/ ...
- The Windows account sa does not exist and cannot be provisioned as a SQL Server system administrator
今天遇到一个案例,在使用命令修改一个测试服务器(SQL Server 2014标准版)的服务器排序规则时,遇到了下面错误信息 (具体账号信息脱敏处理,随机生成一个账号密码) The Windows a ...