Difference between browser-supported handlers and Shazzer 'all_browser_events' list

Chrome logo 16

The shazzer's 'all_browser_events' list is compared with the event handler set from within the window, document.body and document objects combined. Result is missing events within the shazzer's 'all_browser_events' list.

Created by: hansmach1ne

Created on: Sunday, January 5, 2025 at 9:52:26 PM

Updated on: Tuesday, January 7, 2025 at 1:19:02 PM

Vector type: JS

Vector charset: UTF-8

Code used before fuzz:
function listAllEventHandlers() {
    const allHandlers = new Set();
    const objects = [document.body, document, window];
    objects.forEach(obj => {
        for (const prop in obj) {
            if (prop.startsWith('on')) {
                allHandlers.add(prop);
            }
        }
    });
    return Array.from(allHandlers).sort();
}
allBodyHandlers = listAllEventHandlers();

console.log("window, document and document.body contain " + allBodyHandlers .length + " handlers")

const shazzerEvents  = new Set();
Template used:
shazzerEvents.add('$[data1]');
Code used after fuzz:
console.log("Shazzer 'all_browser_events' contains " + shazzerEvents.size + " events");

function missingHandlers() {
const out = new Set();
    for(let handler of allBodyHandlers) {
        if (!shazzerEvents.has(handler)) {
            out.add(handler);
        }
    }
return out;
}

for(let handler of missingHandlers()){
   log(handler);
}
Your browser was detected as:
Detecting... Detecting... Detecting... Detecting...

Sample payloads

shazzerEvents.add('onbeforecopy');
shazzerEvents.add('onbeforecut');
shazzerEvents.add('onbeforepaste');
shazzerEvents.add('onfreeze');
shazzerEvents.add('onfullscreenchange');
shazzerEvents.add('onfullscreenerror');
shazzerEvents.add('onpointerlockchange');
shazzerEvents.add('onpointerlockerror');
shazzerEvents.add('onprerenderingchange');
shazzerEvents.add('onreadystatechange');
shazzerEvents.add('onresume');
shazzerEvents.add('onscrollsnapchange');
shazzerEvents.add('onscrollsnapchanging');
shazzerEvents.add('onvisibilitychange');
shazzerEvents.add('onwebkitfullscreenchange');
shazzerEvents.add('onwebkitfullscreenerror');

Fuzz results

Chrome logo
Chrome 131.0.0.0 desktop Windows NT 10.0

Updated

Sun Jan 05 2025
Found 16 results
Loading...