WooYun Zone镜像——关于如何绕过防火墙之一

admin 2020-7-9 1158

防火墙一种运行在真正的应用逻辑之前的安全系统,正是因为它无法真正的嵌入到业务里所以天生的会存在缺陷,只不过这种缺陷是大还是小的问题,正常的架构和数据流向如下:

user->CDN->webserver->app->data

出现问题的在app和data这里,但是防火墙尝试在cdn和webserver层去解决安全问题,由于大家对数据的理解是不一致的,譬如以同样的'来说,在cdn里它没有意义,它只是流通的数据,除非解析到http层面它可以变成http请求的一个参数或者其他组成部分,然后到webserver,这个'同样没有实际的价值,它依然是http里的一个数据,真正让这个'有意义的是app里的逻辑,是数据库,是执行命令,是回显到输出,数据一旦变成可以执行的命令漏洞就来了。

由于工作在不同的层面,所以防火墙(你可以理解为防护策略)对同样的数据会有不同的反应,譬如正常的请求是

http://www.wooyun.org/index.php?id=123

如果我们输入

GET /index.php?id=123 union select 1,2,3 from mysql.user HTTP/1.0

HOST: noexist.com

由于工作在cdn层面的防护墙是不会去管一个http请求的真实性的,所以这个请求被拦截(由于是无效的host所以其实不会到真实的webserver,这只是举例说明),典型的如宝

同样如果我们输入

GET /indexabc.php?id=123&abc=union select 1,2,3 from mysql.user HTTP/1.0

HOST: wooyun.org

由于工作在webserver层面的防火墙是不会知道一个请求的有效性的,所以这个请求被拦截(由于这个后端逻辑和参数都是无效的,所以其实这个请求也不会有威胁),典型的如狗

同样如果我们输入

GET /index.php?id=123&abc=union select 1,2,3 from mysql.user HTTP/1.0

HOST: wooyun.org

这个如果不被拦截,那么我们就知道这个是工作在app内部的防火墙了,这个时候就非常难绕过了,基本与程序内部做了过滤是一致的,只能找这个规则的不当之处了.

我们知道了是什么层面的防火墙,那么就可以思考如何绕过了,请持续关注wooyun的zone和drops吧,下次再写。

[原文地址]

相关讨论:

1#

VIP (Fatal error: Call to undefined function getwb() in /data1/www/htdocs/106/wzone/1/index.php on line 10) | 2013-07-14 15:28

学习了

2#

Xhm1n9 | 2013-07-14 15:34

good

3#

无敌L.t.H (:?门安天京北爱我) | 2013-07-14 17:08

/indexabc.php这种有可能被Rewrite,这样也算是一个有效的访问吧?

4#

xsser (十根阳具有长短!!) | 2013-07-14 17:13

@无敌L.t.H 你可以分析系统里没有被rewrite 的

5#

Yaseng (看黄片 到 www.yaseng.me) | 2013-07-14 17:39

好 !

cdn 搞到真实ip 改本地hosts 就彻底废了

6#

陈再胜 (http://t.qq.com/mibboy求收听) | 2013-07-14 17:42

其他看懂了,如宝那段没看懂

7#

xsser (十根阳具有长短!!) | 2013-07-14 17:43

@Yaseng 不只是这样,后续会继续讲绕过方式

8#

楼上是马甲 | 2013-07-14 21:59

能介绍下linux下穿墙就好了


最新回复 (0)
返回
发新帖