新型渗透手法:利用XSS绕过WAF进行SQL注入
看到标题,很多人肯定会一脸懵逼,这是什么鬼。利用xss绕过waf进行sql注入?话说,没点意思的文章,我自己也不好意思写出来啊。
通俗讲,就是XSS和sql注入相结合绕过waf。知识要能灵活运用嘛。做一个灵活的胖子(虽然我不是胖子)。
0×01 起因咳咳,还是来说下起因吧!最近遇到一个网站,有防火墙,而且极其变态。后来测试发现,竟然是oracle数据库。对,你没看错,是oracle数据库。
众所周知,mysql语句最松散,曾几何时依靠/*!50000select*/ 这种类型和各种变形,可以秒杀很多防火墙,而且网上大量这样的文章:
mssql语句次之,可以使用多行执行。还可以搭配服务器使用 se%le%ct 这种绕过方式绕过。
相比起oracle,简直了。这些招式都不管用。看了很多文章,看不到多少关于oracle注入的文章。绕防火墙的文章更是稀少。绕过变态的防火墙的基本没有。这一次就遇到了一个比较不错的素材。给大家分享,交流。
0×02 SQL注入初探废话不多说,实战开始。加入单引号:
http://www.hacker.com/news/index .jsp?id=2862%27
收集信息如下:字符型注入+oracle。常规测试 ‘ and 1=1– +
直接被防火墙拦截了,而且拦截有点变态,连anxd都拦。
既然拦截了anxd,我们推测他应该是过滤的后面1=1 那么我们换成1 like 1试试:
换成and 1 like 1会显示系统错误。在这里,连最基础的正确语句都无法执行。可推测,这个网站至少有两层过滤,一层防火墙,一层代码过滤。我的内心是这样的:
这激起了我好胜之心。越难才越有挑战。另外oracle注入+防火墙,也不是随随便便都能碰到的。
0×03 初生牛犊:尝试突破那么,就开始突破吧!
思考:如果此处为mysql+php那么绕过也许不会那么难受,但是此处是jsp+oracle。 Oracle各位黑友流传出来的语法基本就那么几种,像/*!50000 这种类型的都不可以用,所以给绕过带来了极大的困难。
考虑到防火墙,一般都采用正则的方式进行拦截的。我们尝试是否有可以替代空格对正则进行绕过,看看waf是否有所疏漏,经过大量测试,发现/*%23%0a*/可进行绕过。我们尝试下:
http://www.hacker.com/news/index .jsp?id=2862′ and/*%23%0a*/1=1–
http://www.hacker.com/news/index .jsp?id=2862′and/*%23%0a*/1=2–
两次返回页面不一样,成功绕过。想到使用联合查询就可以直接获取想要的数据了,仿佛白富美就在眼前。然后当我满怀欣喜准备大杀四方的时候,输入order by 10的时候一脸懵逼:
居然又被防火墙拦截。说明and拦截规则 和 order by 拦截规则又不一样。
前面不知道大家是否记得我说过了,此处防火墙最起码有两层过滤,真是令%
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/54352.html
mysqlphp相关文章
- WEB安全基础 - - -SQL注入利用
- SQL开发知识:Sql注入原理简介
- SQL开发知识:一个简单的sql注入
- MySQL 及 SQL 注入与防范方法
- AngularJS 依赖注入详解编程语言
- Oracle 监控SQL优化:有效实现数据库性能提升(oracle监控sql)
- MySQL 建表SQL精选实例(mysql建表sql)
- Oracle利用SQL实现数据统计功能(oracle统计sql)
- 使用MSSQL导入.SQL文件(mssql.sql文件)
- 预防SQL Server注入攻击:小白必看(sqlserver注入)
- 漏洞预警:Zabbix高危SQL注入漏洞,可获取系统权限
- DedeCMS全版本通杀SQL注入漏洞利用代码及工具
- MySQL学习笔记:如何通过SQL语句增加字段?(mysql增加字段sql)
- 文件MySQL实现轻松加载SQL文件(mysql加载sql)
- 防范 SQL 注入:MySQL 数据库的安全保障(mysqlsql注入)
- 如何防范SQL注入攻击:MySQL的几种安全策略(sql注入mysql)
- DedeCMS全版本通杀SQL注入漏洞利用代码及工具
- 采用SQL正则替换MSSQL——最佳实践详解(sql正则替换mssql)
- 科学管理: 利用MSSQL SQL审核工具(sql审核工具mssql)
- MySQL与PL/SQL:简单快捷的优势使用(mysql pl sql)
- 利用Oracle SQL工具实现数据库管理(oracle sql工具)
- serverMySQL 与 SQL Server 的比较与选择(mysql 和 sql)
- Oracle如何利用SQL快速写出时间表达式(oracle写时间sql)
- 利用SQL查询Redis中的数据(用sql查询redis)
- 利用Oracle主键SQL优化数据库性能(oracle主键sql)
- MySQL与SQL不是同一回事(mysql 不等于sql)
- 利用Oracle下的SQL挖掘智慧(oracle下的sql)
- 使用Oracle SQL实现数据脱敏(oracle sql脱敏)
- 查询快速精准查询Oracle SQL语句(oracle sql快捷)
- PHP中防止SQL注入攻击和XSS攻击的两个简单方法