afl-fuzz暴力效率流实践

一、概述关于afl-fuzz的原理和各种基本使用方法,已经有各位机智的网友写得比较完整了。本文的主要内容是,根据afl的一些特性,进行针对性的部署以提高fuzz的效率。虽然afl-fuzz是一个开箱即用的工具,但直接部署使用基本上是无法获得漏洞产出的。 二、读写文件操作afl-fuzz在运行时的一个典型命令,形如...

XCode编译WebKit JavaScriptCore问题解决

个人感觉使用XCode编译调试JavaScriptCore是一种正确的方法,之前使用GCC太不方便了,耗费了很多很多时间。 (1)直接编译All Source,然后切换schema到jsc运行 。 (2)不要使用parrellize build 。 (3)run exit with xx、file not fou...

WebKit JavaScriptCore的特殊调试技巧

一、jsc内置函数jsc作为WebKit的JavaScriptCore的一个独立的可执行实体,其内置了一些特殊函数来帮助调试。这些函数位于JavaScriptCore/jsc.cpp,在finishCreation函数中通过addFunction函数注册: 1234567891011121314151617181...

CVE-2019-8518 FTL LICM GetByVal hoisted OOB

1. References and PoCThis bug was found by saelo(Thanks saelo for always being really great!). https://bugs.chromium.org/p/project-zero/issues/detail?id=177...

CVE-2018-4233 WebKit DFG JIT CreateThis SideEffect type confusion

一、简介CVE-2018-4233是Pwn2Own 2018上Samuel Groß团队用来攻破Safari浏览器的漏洞。这是一个JIT编译器中side effect导致IR建模失败而产生的一个类型混淆漏洞,通过这样的类型混淆漏洞可以得到addrof、fakeobj两个原语,从而直接获得沙箱内远程代码执行的效果。...

CVE-2018-4162 CompareEq side effect

一、从ZDI文章开始2018年4月,ZDI发表了《INVERTING YOUR ASSUMPTIONS: A GUIDE TO JIT COMPARISONS》,描述了JavaScriptCore DFG JIT中CompareEq IR的副作用问题。通过TenSec2018的ppt,可以知道这个漏洞编号为CVE...

35c3CTF WebKid writeup heuristic transition

一、patch简述https://github.com/saelo/35c3ctf/blob/master/WebKid/webkid.patch 一个patch就足够了。patch的核心在于给操作 1thisObject->setStructure(vm, Structure::removeProper...