,还没找到更有效的办法),但是有时候我们不知道这个iframe页面是否执行完毕,有没有办法判断iframe里的页面是否load完成了呢?...document.getElementById("txt").value="ok"; } index.html: 检测本页中的所有...iframe是否加载完成 //得取iframe中的某个html控件值 function getIframeControlValue...; } else{ setValue(); } } 检测本页中的iframe是否加载完成 iframe... id="result" style="margin:10px;"> 准备就绪 值得注意的是:本文中的示例是放在按钮click事件中检测的,如果打算页面一打开就开始检测
“我们看到很多SOC团队只监控主页面的网络请求,却忽略了iframe可能发起的独立POST请求,”芦笛指出,“GhostFrame的凭证正是通过iframe内的独立XHR发送至C2服务器,完全绕过主页面的日志记录...2025年,国内已出现类似“双页面钓鱼”雏形。例如,某金融钓鱼团伙使用腾讯云COS托管静态HTML页面,内嵌指向境外VPS的iframe,用于窃取证券账户信息。...“当攻击者用‘您的电子发票已生成’诱导点击,跳转到一个看似空白的页面时,我们的防线是否准备好了?”此外,国内移动生态的特殊性也带来新挑战。...“关键不是iframe是否存在,而是它做了什么,”芦笛说,“我们需要记录每个iframe的DOM变化、网络请求、用户交互事件,形成行为指纹。”2....芦笛给出以下建议:对企业:审查邮件安全网关是否支持深度HTML解析,包括iframe内容提取;在零信任架构中,将“跨域iframe加载敏感服务”视为高风险行为,默认阻断;与工作组共享GhostFrame
关键词:GhostFrame;钓鱼框架;隐蔽iframe;动态内容加载;反分析;跨域iframe检测;DOM监控1 引言网络钓鱼作为网络犯罪的主要入口,其技术演进始终围绕两个核心目标:提升欺骗成功率与增强逃避检测能力...其独特之处在于将整个钓鱼逻辑封装于动态加载的iframe中,而主页面保持静态且无害,从而在视觉与基础扫描层面均呈现“合法”状态。...尤其在跨域iframe内容不可直接访问的同源策略限制下,如何有效监控其行为并评估风险,成为防御体系的关键挑战。本文旨在填补这一技术空白。...4 检测模型设计鉴于同源策略限制,直接读取iframe内容不可行。本文提出间接检测方法。4.1 DOM行为监控监控主页面是否动态创建隐藏iframe。...7 结语GhostFrame钓鱼框架通过隐蔽iframe架构实现了攻击效率与逃避能力的双重提升。本文通过对其技术细节的深度剖析,证明传统基于内容的检测方法已难以应对此类高级威胁。
油猴脚本记(含检测) 写脚本 模拟爬取市面上网站(淘宝、京东、美团等)的页面内容 油猴脚本是通过JS来编写,我也才接触只是对dom进行操作来完成 首先是@match需要设置,就是用来说明脚本在哪个页面执行...,这是如果进行了dom操作会报错,所以可以进行短暂的延时让页面加载一会。...,不会对网页注入script元素,它通过沙盒向网页中传递信息以达到控制dom的操作。...所以如果要对脚本进行检测,没有像上面代码这样子向页面中植入iframe的话,通过去检测dom和window是无法检测出使用油猴脚本的。...)}) 正常鼠标点击 使用click()进行点击 检测方法二 使用isTrusted事件进行识别,这个事件可以判断是否是人进行点击或者是js模拟点击,当是手动点击会返回true,否则会返回
因为script脚本在头部先进行加载,无法获得完整的dom树,导致dom树获取全为空值,因为在处理js脚本的时候,dom树渲染是阻塞的,除非允许异步渲染,加载完成以后进行渲染,或者是异步的随机渲染。...窗口和其他窗口并不是没有完全的关系。一个窗口或标签页中的脚本可以打开新的窗口或者标签页。当一个脚本这样做,多个窗口可以相互操作 iframe 已经处于半废弃的inframe标签。...只有设置了允许导航的页面才可以。 即,当且仅当窗口包含的文档来自相同的源,或者这个脚本打开的哪个窗口。...窗口名字 窗口名字,运行open()方法引用已存在的窗口。...并同时可以作为标签a和标签form的taget的值,表示加载到哪 open第三个参数表明如何打开这个标签的,以及大小(一般弹窗广告喜欢这样做) // 打开允许改变大小的浏览器的窗口,包含地址栏,工具栏和地址栏
2025年12月,Malwarebytes披露了一款名为GhostFrame的新型钓鱼套件,其利用动态子域名、隐藏iframe、表单伪装及反分析技术,在短时间内已发起超过百万次攻击。...在此基础上,提出一套融合浏览器行为监控、DOM异常检测与上下文感知验证的多层次防御框架,并通过原型实现验证其有效性。...更进一步,部分变种在用户输入过程中通过JavaScript动态替换iframe的src属性,实现会话内子域名轮换:// 动态更新iframe源以规避实时阻断function rotateFrame()...(2.2)表单伪装与BLOB注入技术传统钓鱼检测依赖于识别HTML中的标签及字段。...(5.3)第三层:用户交互确认机制在检测到高风险表单提交时,浏览器可弹出轻量级确认提示:“您正在向非官方页面提交Microsoft账户信息,是否继续?”
在用户角度,这些劫持的表现分为: 1、网址被无辜跳转,多了推广尾巴; 2、页面出现额外的广告(iframe模式或者直接同页面插入了dom节点)。 ...处理办法: 1、先对外网做检测,上报被劫持的情况。 对于我这个业务而言,加推广尾巴没意义,那么就剩下植入广告的问题了。...页面广告可能通过iframe方式,也可以通过dom节点方式,需要在首页检查这两种情况。...在iframe中的网页能正常打开,而不是又被拦截加iframe,可能是因为请求的url上或cookie上运营商做了标记。我们可以利用这个规则,躲过劫持。 ...3、针对注入dom节点的情况,初始化时做检查,而且后续dom注入也做检查。可以检查dom中是否含有白名单以外的http链接,如果有,就可以判定为http劫持。
XSS的发生起源来自于用户输入,因此XSS根据用户输入数据以何种形式、何时触发XSS、是否有后端服务器的参与划分为三种类型,分别是反射型XSS、持久型XSS和DOM XSS。...这就需要开发人员培养良好的WEB前端安全意识,不仅仅不能相信用户的输入,也不能完全相信保存在数据库中的数据(即后端开发人员忽视的数据安全检测)。针对持久型XSS没有好的解决方式,只能由开发人员保证。...DOM XSS DOM XSS完全在前端浏览器触发,无需服务端的参与,因此这是前端开发工程师的“地盘”,理应获得我们的关注。 e.x....它完全没有服务端的参与,仅仅由用户的输入和不安全的脚本执行造成,当然在本例中仅仅是最简单的情况,如果用户输入字符串‘’或者text/html格式的data URI,则更难检测,也危害更大,黑客操作起来更为容易...在以上输入源中获取数据后,可能会有各种DOM操作或纯粹的js计算,这些操作则是真正触发XSS的罪魁祸首: “ 1,直接输出HTML内容 document.body.innerHTML = ...
另外,同源策略又分为以下两种: DOM 同源策略:禁止对不同源页面 DOM 进行操作。这里主要场景是 iframe 跨域的情况,不同域名的 iframe 是限制互相访问的。...下面从 DOM 同源策略和 XMLHttpRequest 同源策略来举例说明: 如果没有 DOM 同源策略,也就是说不同域的 iframe 之间可以相互访问,那么黑客可以这样进行攻击: 做一个假网站,里面用...对于开发者来说,CORS 通信与同源的 AJAX 通信没有差别,代码完全一样。浏览器一旦发现 AJAX 请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求,但用户不会有感觉。...浏览器对这两种请求的处理,是不一样的。 简单请求 在请求中需要附加一个额外的 Origin 头部,其中包含请求页面的源信息(协议、域名和端口),以便服务器根据这个头部信息来决定是否给予响应。...很显然,这个页面与它里面的 iframe 框架是不同域的,所以我们是无法通过在页面中书写 js 代码来获取 iframe 中的东西的。
三个页面,不同域之间利用 iframe 的 location.hash 传值,相同域之间直接 js 访问来通信。...页面和其打开的新窗口的数据传递b.) 多窗口之间消息传递c.) 页面与嵌套的 iframe 消息传递d.) 上面三个场景的跨域数据传递源,和响应头里的 Access-Control-Allow-Origin 对标, 是否允许当前源访问,Origin 是不可修改的Access-Control-Request-Headers...,new Image () ,不会加载到页面上去,实现隐形加载替换真图片替换 src 属性页面布局位置基础知识网页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight...+ DOM 元素直接遮盖上述方案中,将资源绘制在 Canvas 虽是一种可行方案,但对于普通的 DOM 元素(非图片) 虽然有可行方案例如 html2canva 来将 DOM 转化为・Canvas,但是实现过于繁杂
尽可能避免在文档中标记为“安全风险”的Angular API。有关更多信息,请参阅本页面的信任安全值部分。 防止跨站点脚本(XSS) 跨站点脚本(XSS)使攻击者能够将恶意代码注入到网页中。...这是网络上最常见的攻击之一。 要阻止XSS攻击,您必须防止恶意代码进入DOM(文档对象模型)。 例如,如果攻击者可以诱使你在DOM中插入一个标签,他们可以在你的网站上运行任意代码。...消毒和安全环境 消毒是对不可信值的检查,将其转化为可以安全插入DOM的值。 在许多情况下,消毒不会彻底改变值。消毒取决于上下文:CSS中的无害值在URL中可能是危险的。...为了防止在这些情况下出现自动消毒,您可以告诉Angular您检查了一个值,检查它是如何生成的,并确保它始终是安全的。 不过要小心。 如果您信任可能具有恶意的值,则会在您的应用中引入安全漏洞。...以下模板允许用户输入YouTube视频ID并将相应的视频加载到iframe>中。iframe src>属性是资源URL安全上下文,因为不受信任的源也可以,例如在用户不知情可私自执行文件下载。
Largest contentful paint (LCP):测量页面开始加载到最大文本块内容或图片显示在页面中的时间。 DomContentLoaded Event:DOM 解析完成时间。...Cumulative layout shift (CLS):测量从页面开始加载到状态变为隐藏过程中,发生不可预期的 layout shifts 的累积分数。...三、性能优化具体实践 PART1: 加载时间优化 Network 中对页面中加载的资源进行分类: 第一部分是影响 DOM 解析的 JS 资源,可以看到这里分类为关键 JS 和非关键 JS,是根据是否参与首面渲染划分的...检测浏览器是否支持 Prefech,支持的情况下我们可以创建 Prefetch 链接,不支持就使用旧逻辑直接加载,这样能更大程度保证页面性能,为下一个页面提供提前加载的支持。...注意实际业务中需要视觉同学参与,评估图片的清晰度是否符合视觉标准,避免反向优化!
DOM 型 XSS 是如何产生的?我们知道,客户端 javascipt 是可以访问浏览器的 DOM 文本对象模型,如果没有经过适当的过滤和消毒,那么应用程序可能会受到基于 DOM 的 XSS 攻击。...* 这里我们引入一个叫做“同源策略”的概念: 首先,同“源”的源不单单是指两个页面的主域名,还包括这两个域名的协议、端口号和子级域名相同。...设想一下,如 mail.qq.com 的页面存在 XSS 漏洞,攻击者通过 iframe 替换了原来的页面成钓鱼页面,并且网页的 Url 还是原来的页面,你是否能察觉出来?...DOM 对象属性,或在原页面中添加新的 DOM 元素。...分析源代码挖掘 XSS 的一般思路是:查找可能在页面输出的变量,检验它们是否受到控制,然后跟踪这些变量的传递过程,分析它们是否被 htmlencode() 之类的函数过滤 黑盒 Fuzz 这个可得好好说说了
iframe 在企业中,各个研发部门往往各自开发自己的应用。当需要把这些应用聚合在一起时。以往的解决方案是在主应用中嵌入 iframe,使用 iframe 加载和切换子应用页面。...当父应用页面被刷新时,iframe 会丢失跳转的路径状态(你可以将iframe中的页面状态保存在父应用的URL上,然后在刷新页面的时候从URL上读取状态再来修改iframe中的页面地址。...不过这会增加父应用和子应用的耦合和通信成本。当子应用数量较多时,维护成本也会很高)。 iframe 中的 DOM 是独立的。...iframe 中的内容需要等待iframe加载后再开始加载,白屏时间长,体验较差。 iframe 中的内容不会增加主页面的搜索权重,影响 SEO。...qiankun 微前端 在微前端的架构中,页面并不是作为一个整体开发的,而是由各个独立维护的组件拼接而成的,这些组件可以复用于任何页面,而一个页面也完全可以由不同的组件异构出多样化的呈现。
国庆假期结束,这一节准备XSS跨站攻击渗透测试中的利用点,上一节讲了SQL注入攻击的详细流程,很多朋友想要咨询具体在跨站攻击上是如何实现和利用的,那么我们Sinesafe渗透测试工程师为大家详细的讲讲这个...Blind XSS Blind XSS是储存型XSS的一种,它保存在某些存储中,当一个“受害者”访问这个页面时执行,并且在文档对象模型(DOM)中呈现payload。...跨源数据存储访问 存储在浏览器中的数据,如 localStorage 和 IndexedDB,以源进行分割。每个源都拥有自己单独的存储空间,一个源中的Java脚本不能对属于其它源的数据进行读写操作。...阻止跨源访问 阻止跨域写操作,可以检测请求中的 CSRF token ,这个标记被称为Cross-Site Request Forgery (CSRF) 标记。...X-Frame X-Frame-Options 响应头有三个可选的值: DENY 页面不能被嵌入到任何iframe或frame中 SAMEORIGIN 页面只能被本站页面嵌入到iframe或者frame
document.write直接在当前文档流中写入字符串,一旦文档流已经关闭,就打开新的文档流并写入,原来的文档流会被清空,已渲染好的页面就会被清除,浏览器将重新构建DOM并渲染页面.所以使用这种方案..., 不阻塞主页面的渲染,即使js出错,也不会影响到主页面 2.可以将创建的DOM动态插入到已存在的元素之后(即可以追加到已知位置) 缺点: 1.使用字符串拼接不利于HTML片段的编写和维护...由浏览器异步处理, 所以此处使用document.write()并不会阻止父页面的加载 优点: 1.完全独立的DOM环境,不会继承父页面的样式 2完全独立的window,避免和主页面其他脚本冲突...Iframe标签的创建速度慢 2.主页面可以访问iframe的DOM环境并可进行更改 嵌入第三方页面两种方案中,另一种方案(http://www.cnblogs.com/yuqing6/p/8462239....html) 都大篇幅介绍使用了iframe进行html输出,iframe提供了一种最佳的避免样式和脚本冲突的嵌入途径,但是有些情况在主页面的DOM中去渲染更为合适 不适合使用iframe的情况:
归纳有三:不能获取 Cookie、LocalStorage、IndexedDB;不能获取 dom 节点;不能进行一般的 Ajax 通信;跨域解决方案的出现就是为了解决以上痛处。...hash + iframe 在文章最开始提到过 iframe 标签也是不受同源策略限制的标签之一,hash + iframe 的跨域核心思想就是,在 A 源中通过动态改变 iframe 标签的 src...的哈希值,在 B 源中通过 window.onhashchange 来捕获到相应的哈希值。...思路不难直接上代码: A 页面代码示例(源为 http://127.0.0.1:3000) iframe src="http://127.0.0.1:3001">iframe>...代码示例如下: A 页面代码示例(源为 http://127.0.0.1:3000) iframe src="http://127.0.0.1:3001">iframe> <
二、技术深潜:一个钓鱼包如何绕过层层检测?我们以其中一个活跃包 secure-docs-app@1.2.3 为例,还原其攻防对抗设计。1....但在这次事件中,多数工具未能提前预警。原因有三:无恶意API调用:包内代码未使用child_process、fs、http等高危模块,仅包含DOM操作。...行为发生在浏览器端:SCA聚焦于构建时和运行时的Node环境,而此次攻击完全在受害者浏览器中执行。...严格审查新依赖检查发布者是否为知名组织(如@microsoft、@aws-sdk)查看GitHub仓库是否活跃、是否有CI/CD流程警惕名称相似但拼写怪异的包(如react-dom-prod vs react-dom...锁定版本与哈希使用package-lock.json并配合npm ci,确保每次安装的代码完全一致。更进一步,可集成工具如 lockfile-lint 检测异常源。3.
研究指出,由于攻击载荷完全运行在受害者浏览器的DOM树中,且URL显示为合法域名,传统基于网络边界的防御策略(如DNS过滤、证书校验)面临失效风险。...现有的学术研究多集中于URL特征分析、邮件头检测或基于机器学习的页面内容分类,对于这种完全依赖合法域名承载、仅在UI层进行欺诈的攻击模式缺乏系统性的探讨。...DOM混淆:伪造的登录框在DOM结构中只是普通的和标签,没有特殊的恶意特征码,基于签名的检测难以识别。...4.2 DOM结构与渲染特征审计开发专用的浏览器扩展或内置安全模块,对页面DOM进行深度扫描:地址栏真实性验证:检测页面中是否存在模拟地址栏的DOM元素(如包含锁图标SVG和URL文本的特定类名或结构)...来源绑定(Origin Binding):FIDO2认证过程中,浏览器会将当前页面的真实源(Origin,即协议+域名+端口)传递给认证器(如硬件安全密钥、手机生物识别模块)。