-
CVE-2025-6554分析
CVE-2025-6554Commit:609a85c2a1bd77d6f6905369f4bc4fcf34c5db09 目录:Background Knowledge: TDZ Background Knowledge: operator ?. Background Knowledge: hole Proof of concepts Where is the hole Background... -
绕过windows10/11的保护机制
绕过Windows10/11的保护机制(KASLR,SMEP,VBS) 由于有SMEP的存在,最初的想法是修改CR4寄存器的第20位(SMEP通过这个位来启用),可以通过构造ROP链实现,但是由于有VBS的存在(即 “对 CR4 控制寄存器位域(包括 SMEP 字段)的未经授权的修改都会被立即阻止”)所以该用翻转shellcode所在内存页对应的页表条目(PTE),使得该页面被... -
Chrome信息查询
chrome查询信息小结:通过访问https://chromium.googlesource.com/chromium/src.git/+/refs/tags/59.0.3071.92可以找到chromium某版本对应的commit号(示例为59.0.3071.92) 通过访问https://chromium.googlesource.com/chromium/src.git/+/refs/... -
Windows_kernel_pwn1-OOB
Windows_kernel_pwn1-OOB:调试过程:在调试之前需要确保首先用ghidra打开HEVD.sys这个内核驱动,在export处发现驱动程序的入口点是 DriverEntry()。该函数是设备加载时调用的第一个例程,负责初始化设备。 接下来再重启目标机(确保HEVD service打开)用windbg重新连接目标机,此时在用bu HEVD!DriverEntry命令在Driv... -
Windbg双机调试配置
前言:从这篇文章开始我们将进入windows内核的利用教程,目的是和JS引擎中的漏洞配合起来,组成一条利用链,内核的漏洞可以做到一个提升用户权限的效果,以达到更大程度的利用效果。 Windbg调试配置说明:目标机(debuggee machine): Hype-V中的虚拟机 主机(debugger machine): Windbg所在机器 由于本次教程涉及到windows7和windo... -
V8-Exploit-Level9
V8 Exploit Level9level9:一.分析patch文件给出V8 sandbox memory corruption API(包含Addressof原语,沙箱内部的任意地址读写原语) 二.利用思路主要是借鉴这个方法,由于本题中的沙箱是升级后的沙箱,RWX段的指针无法修改,因此不能用之前的修改指向RWX段指针的方式来实现任意代码执行,因此需要用劫持控制流的方式来让pc指向shel... -
V8-Exploit-Level8
V8 Exploit Level8level8:一.分析patch文件更改边界检查消除条件 二.利用思路patch文件中删除了边界检查消除相关节点并将消除条件index_type.Max()<length_type.Min()改为index_type.Min()<length_type.Min(),可借助此漏洞通过构造对象,并且index的范围使其满足边界检查消除条件,进而通过数... -
V8-Exploit-Level7
V8 Exploit Level7level7:一.分析patch文件删除deoptimize操作 二.利用思路patch文件中删除了deoptimize相关操作,导致TurBoFan生成的JIT代码中,在检测到一个object的map不同时,不会进行deoptimize操作。可通过修改对象类型进而在通过利用类型混淆构造addressof和fakeobj原语进而到达任意代码执行。 三.exp... -
V8-Exploit-Level6
V8 Exploit Level6level6:一.分析patch文件给出一个Array.functionMap函数 二.利用思路根据Array.functionMap函数构造addressof原语和fakeobj原语,进而利用level 3中的利用思路实现任意代码执行。 三.exp核心代码如下图所示(根据Array.functionMap函数构造addressof原语和fakeobj原语)... -
V8 数组的内存布局
浮点型数组定义方式:let arr=[1.1, 2.2, 3.3, 4.4];js数组也可以使用属性的形式访问: 例如arr.a=1; 这个属性a在PropertyArray中的propertyN中存储。 对象型数组定义方式:let arr=[{x:1},{y:2}]; js对象定义方式:let v={};js对象也可以使用下标的形式访问: v...