首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

从 0 开始学 V8 漏洞利用之 V8 通用利用链(二)

作者:Hcamael@知道创宇404实验室 相关阅读:从 0 开始学 V8 漏洞利用之环境搭建(一) 经过一段时间的研究,先进行一波总结,不过因为刚开始研究没多久,也许有一些局限性,以后如果发现了,再进行修正...接下来将会根据该逻辑来反向总结一波v8的利用过程。 调试V8程序 在总结v8的利用之前,先简单说说v8的调试。...任意读写 最近我研究的几个V8漏洞,任意读写都是使用的一个套路,目前我是觉得这个套路很通用的,感觉V8相关的利用都是用这类套路。...2.然后通过漏洞,把a的map地址修改成c的map地址。 3.获取a[0]的值 这个过程可以封装为fakeObj函数。...之后的文章中,打算把我最近研究复现的几个漏洞,套进这个模板中,来进行讲解。

1.4K20

JavaScript 的 parseInt() 函数

parseInt() 函数可解析一个字符串,并返回一个整数。 parseInt 可以接受 2 个函数。...如果 parseInt 遇到的字符不是指定 radix 参数中的数字,它将忽略该字符以及所有后续字符,并返回到该点为止已解析的整数值。 parseInt 将数字截断为整数值。 允许前导和尾随空格。...parseInt不应替代Math.floor()。 parseInt 可以理解两个符号。+ 表示正数,- 表示负数(从ECMAScript 1开始)。它是在去掉空格后作为解析的初始步骤进行的。...如果第一个字符不能转换为数字,parseInt会返回 NaN。 为了算术的目的,NaN 值不能作为任何 radix 的数字。你可以调用isNaN函数来确定parseInt的结果是否为 NaN。...parseInt 转换和可能出现 NaN 的情况。 https://www.ossez.com/t/javascript-parseint/13811

1.5K00

漏洞通告】V8类型混淆漏洞(CVE-2020-6418)通告

通告编号:NS-2020-0013 2020-03-04 TAG: Chrome、Edge、类型混淆、CVE-2020-6418 漏洞危害: 攻击者利用此漏洞,可实现非法访问数据、执行恶意代码。...版本: 1.0 1 漏洞概述 2月25日,谷歌Chrome浏览器与微软Edge浏览器发布了安全更新,在Google Chrome浏览器80.0.3987.122以下与Microsoft Edge浏览器...80.0.361.62以下的版本中,开源JavaScript和WebAssembly引擎V8中存在一个类型混淆漏洞(CVE-2020-6418),可能导致攻击者非法访问数据,从而执行恶意代码。...有研究人员发现,在更新发布前,该漏洞就已经被攻击者用于实际攻击。目前漏洞细节已公开,请装有谷歌Chrome与微软Edge等使用V8引擎的浏览器用户进行防护。...3.1 官方升级 目前官方已发布新版本修复了该漏洞,请受影响的用户尽快升级版本进行防护。

85150

V8 引擎空指针引用漏洞的新型利用技术

介绍 去年,英国国家网络安全中心(NCSC)报告了一个V8编译器中存在的安全漏洞,随后Google便悄悄修复了该漏洞。这个漏洞ID为1003286,漏洞的具体信息可以点击【阅读原文】获取。...根据漏洞报告的描述,这是一个空指针解除引用DoS漏洞,这个漏洞是一个不可利用的漏洞,并且只能通过WASM代码来触发。...在深入分析之后,我们发现这里还有另一种触发该漏洞的方式,并且能够通过V8 JIT编译器进程来利用该漏洞实现攻击。...漏洞成因 出于代码优化方面的考虑,V8 JIT编译器使用了节点图,并通过优化管道的几个阶段减少节点图来生成优化的本机代码。而且这个节点图也适用于WASM编译器,可以将WASM代码编译为本机代码。...漏洞利用 虽然这个漏洞存在于V8 JIT编译器之中,但它跟其他常见的JIT编译器漏洞有很大不同。为了成功利用该漏洞,我们需要生成能够利用初始漏洞漏洞代码,然后利用它们来实现远程代码执行。

67540

Google V8引擎的CVE-2018-17463漏洞分析

漏洞是由于对JSCreateObject操作的side-effect判断存在错误,导致优化过程中可消除类型检查节点,从而造成类型混淆,最终可执行任意代码 环境搭建 该漏洞于commit 52a9e67a477bdb67ca893c25c145ef5191976220.../bin/bash set -Eeuxo pipefail fetch v8 pushd v8 git checkout 568979f4d891bafec875fab20f608ff9392f4f29...漏洞原因 源码分析 漏洞存在于src/compiler/js-operator.cc:625。在此处,代码定义了许多常见IR操作的标识,存在问题的是对JSCreateObject操作的判断。...漏洞触发 当前的漏洞已经可以影响一个Object的结构,将其模式修改为Directory,但究竟可以影响Object哪些位置,还需要进一步探究,首先可以先从Object自身结构入手,研究一下在Object.create...Uint8Array(hexstr.length / 2); for (var i = 0; i < hexstr.length; i += 2) bytes[i/2] = parseInt

1.8K40

从 0 开始学 V8 漏洞利用之环境搭建(一)

作者:Hcamael@知道创宇404实验室 最近因为某些原因开始学V8漏洞利用,所以打算写一个系列的文章来记录一下我的学习过程。...概述 在开始研究V8之前肯定得有相应版本的环境,搭建v8环境的教程网上挺多的。在国内搭建环境,因为众所周知的原因,我们会遇到第一个瓶颈,网络瓶颈。不过也挺好解决的,把环境搭在vps上,网速是最快的。...我是打算学V8漏洞利用,不用的漏洞版本基本都会有区别,总不可能研究一个就花1h左右的时间在编译上吧。...不过装了WSL,直接在WSL上编译,路由器是openwrt,让台式机走全局代理,这样又解决了网络瓶颈,最后一整套流程下了,只需要5分钟左右就能生成任意版本的v8环境。..., 这个命令会把v8克隆下来,v8挺大的,所以这个命令的速度视网络情况而定 安装v8相关的依赖,字体依赖就算用代理也会遇到一些网络问题,但是我目前没有研究字体类的漏洞,我就没有去解决这个问题,所以直接不装字体的依赖

67810

从 0 开始学 V8 漏洞利用之 starctf 2019 OOB(三)

作者:Hcamael@知道创宇404实验室 相关阅读: 从 0 开始学 V8 漏洞利用之环境搭建(一) 从 0 开始学 V8 漏洞利用之 V8 通用利用链(二) 我是从starctf 2019的一道叫...FreeBuf上有一篇《从一道CTF题零基础学V8漏洞利用》(https://www.freebuf.com/vuls/203721.html),我觉得对初学者挺友好的,我就是根据这篇文章开始入门v8漏洞利用...漏洞点 源码我就不分析了,因为这题是人为造洞,在obb.diff中,给变量添加了一个oob函数,这个函数可以越界读写64bit。...); a.oob(2.1); %SystemBreak(); 使用gdb进行调试,得到输出: x is 0x16c2a4382ed9 0x242d7b60e041 可能是因为v8...因为模板是按照新版的v8来写的,新版的v8对地址都进行了压缩,但是该题的v8没有对地址进行压缩,所以还有一些地方需要进行调整: 首先是读写函数,因为map地址占64bit,长度占64bit,所以elements

80530

从 0 开始学 V8 漏洞利用之 CVE-2021-30517(七)

作者:Hcamael@知道创宇404实验室 相关阅读: 从 0 开始学 V8 漏洞利用之环境搭建(一) 从 0 开始学 V8 漏洞利用之 V8 通用利用链(二) 从 0 开始学 V8 漏洞利用之 starctf...2019 OOB(三) 从 0 开始学 V8 漏洞利用之 CVE-2020-6507(四) 从 0 开始学 V8 漏洞利用之 CVE-2021-30632(五) 从 0 开始学 V8 漏洞利用之 CVE.../build.sh 9.0.257.23 套模版 该PoC跟上篇文章的PoC相似度很高,原理也相似,所以可以尝试上文的堆喷技术来写该漏洞的EXP,但是该漏洞还存在另一个PoC: obj = {a:1};...漏洞简述 上述伪造fake_obj的逻辑中,v8返回函数的prototype的逻辑如下: Node* CodeStubAssembler::LoadJSFunctionPrototype(Node* function...id=1203122 往 期 热 门 从 0 开始学 V8 漏洞利用之 CVE-2021-38001(六) 从 0 开始学 V8 漏洞利用之 CVE-2021-30632(五) 从 0 开始学 V8 漏洞利用之

56430
领券