如何使用Regexploit识别ReDoS正则表达式拒绝服务攻击
关于RegexploitRegexploit可以帮助广大研究人员找出易受正则表达式拒绝服务攻击(ReDoS)的正则表达式。许多默认正则表达式解析器都很复杂,而且存在很多安全问题。当显示匹配的...
Read More关于RegexploitRegexploit可以帮助广大研究人员找出易受正则表达式拒绝服务攻击(ReDoS)的正则表达式。许多默认正则表达式解析器都很复杂,而且存在很多安全问题。当显示匹配的...
Read More概述Aurelia是一个开源的现代JavaScript模块工具箱,用于Web和移动应用程序开发。它也被称为“下一代框架”,自推出以来一直受到广泛认可,已被数百万开发人员和团队使用,每月下载...
Read More近日,研究人员发现大量假借摩根大通银行和美国银行名义散发的钓鱼邮件,附件中会包含银行的名称和徽标。摩根大通银行美国银行该恶意 XLSX 文件(c70048c0a6636b934623cebe544300...
Read More1 介绍 substring、getDate、catch 等是常用的 JavaScript API。接下来的几篇文章将从整体上对 JavaScript API 的设计思想、源码和关键函数进行讲解,并能通过例子来分析...
Read More1 介绍 Runtime 是一系列采用 C++ 语言编写的功能方法,它实现了大量 JavaScript 运行期间需要的 native 功能。接下来几篇文章将介绍一些 Runtime 方法。本文分析 Runtim...
Read More1 介绍 接上一篇文章继续说,本文讲解 Turbofan 的工作流程、梳理 PrepareJob、ExecuteJob 和 FinalizeJob 的主要功能以及重要数据结构。 2 Turbofan 工作流程 前文提...
Read More前言 《Chrome V8 Bug》系列文章的目的是解释漏洞的产生原因,并向你展示这些漏洞如何影响 V8 的正确性。其他的漏洞文章大多从安全研究的角度分析,讲述如何设计与使用 PoC。...
Read More1 介绍 InterpreterEntryTrampoline 属于 V8 ignition,负责为 JSFunction 函数构建堆栈并执行该函数,也负责启动优化编译功能 Runtime_CompileOptimized_Concurrent。之前...
Read More1 摘要 JavaScript是动态类型语言,数据类型具有不确定性。V8是用C++编写的,C++是强类型语言,要求类型确定。类型确定的C++是如何表达类型不确定的JS呢?解决方法是:操作JS数据...
Read More1 摘要 Javascript对象是属性和一些成员值的集合。通过“.”符号来引用属性值。字符串(string)不是对象,为什么它会有属性呢?因为引用字符串的属性时,V8会将字符串转换成对象...
Read More1 摘要 编译Javascript源码得到的字节码流(Bytecode Array)不能直接执行,绑定了入口(Entry)和上下文(Context)的字节码流才能被解释器(Ignition)执行,绑定了“入口+上下文”的字码...
Read More1 摘要 Dispatch(调度)负责字节码的调度,每条字节码执行完后由Dispatch负责调度下一条字节码执行,相当于寄存器EIP++、执行下一条字节码。Dispatch是V8维护的全局指令调度机...
Read More1 摘要 Execution是V8执行Javascript字节码的运行单元,它负责启动Ignition执行字节码。前几篇文章对Javascript的执行过程和理论知识做过介绍。本文重在实践,注重梳理Exec...
Read More1 摘要 上一篇文章中,Builtin作为先导知识,我们做了宏观概括和介绍。Builtin(Built-in function)是编译好的内置代码块(chunk),存储在snapshot_blob.bin文件中,V8启动时以反序列...
Read More1 摘要 本次是第八篇,讲解v8解释器Ignition的工作流程。Ignition是基于寄存器的解释器,本过通过分析Ignition重要源码和核心数据结构、讲解bytecode的加载和执行过程,详细...
Read More1 摘要 本文是第七篇。讲解v8处理函数调用时的底层架构。通过分析运行时函数堆栈,重点对“实际参数少于声明参数”和“实际参数多于声明参数”两种函数调用的stack frame...
Read More1.摘要 本次是第六篇,讲解V8中抽象语法树(abstract syntax code,AST)到字节码(bytecode)的翻译过程。AST是源代码的抽象语法结构的树状表示,是语法分析的输出结果,bytecode...
Read More1.摘要 本次是第五篇,剖析V8语法分析(parser)的源码和工作流程,讲解V8语法分析的核心源码、主要工作流程以及重要数据结构。本文将沿用第四篇文章的“测试样例代码”。 ...
Read More本篇内容 本次是第四篇,以“测试样例代码”为V8的输入,跟随样例代码在词法分析(scanner)阶段的处理过程,剖析V8词法分析的源码实现。本文通过讲解样例代码中前两个token字...
Read More本篇内容 本次是第三篇,讲解V8中词法分析(scanner)的实现,这中间涉及到几个重要的数据结构和一些相关的编译知识,本文也尽量全面讲解相关的编译知识,争取让读者有一个全面的认...
Read MoreV8是chrome核心组件,重要程度不用多言。本系列文章,讲解V8源码,力求做到全面覆盖知识点、有理论高度,做到细致讲解代码、有实践依据。 本篇内容 本次是第二篇,主要内容是...
Read More为什么写这个主题 Chrome的重要地位不用赘述,V8不仅是chrome的核心组件,还是node.js等众多软件的核心组件,V8的重要程度亦不用多言。V8涉及的技术十分广泛,包括了操作系统、...
Read More1 介绍 Runtime 是一系列采用 C++ 语言编写的功能方法,它实现了大量 JavaScript 运行期间需要的 native 功能。接下来几篇文章将介绍一些 Runtime 方法。本文分析 Runtim...
Read More1 介绍 Runtime 是一系列采用 C++ 语言编写的功能方法,它实现了大量 JavaScript 运行期间需要的 native 功能,例如 String add、String split。接下来这几篇文章将介绍一...
Read More1 介绍 字符串是 JavaScript 中的重要数据类型,其重要性不仅体现在字符串是应用最多最广泛的数据类型,更体现在V8中使用了大量的技术手段来修饰和优化字符串的操作。接下...
Read More1 介绍 字符串是 JavaScript 中的重要数据类型,其重要性不仅体现在字符串是应用最多最广泛的数据类型,更体现在V8中使用了大量的技术手段来修饰和优化字符串的操作。接下...
Read More1 介绍 字符串是 JavaScript 中的重要数据类型,其重要性不仅体现在字符串是应用最多最广泛的数据类型,更体现在V8中使用了大量的技术手段来修饰和优化字符串的操作。接下...
Read More1 介绍 字符串是 JavaScript 中的重要数据类型,其重要性不仅体现在字符串是应用最多最广泛的数据类型,更体现在V8中使用了大量的技术手段来修饰和优化字符串的操作。接下...
Read More1 介绍 DOM-XSS 是网络中最常见的漏洞,再配合其它的攻击手段往往能轻易敲开服务器的大门。在各大漏洞平台中,DOM-XSS 漏洞也是数量最多的。本文介绍一种基于污染追踪技术...
Read More1 介绍 本文先讲解 String.prototype.CharAt 源码以及相关数据结构,再通过测试用例演示 String.prototype.CharAt 的调用、加载和执行过程。 注意 (1)Sea of Nodes 是本文...
Read More