View on GitHub

cyber-camp-2020-writeup

Cyber Camp 2020 CTF by SANS Institute Writeup

WM01

Category Points Difficulty
Web 250 Medium

Solution

Open the website and inspect the code. We see a Javascript function that looks like it checks the keypress against an array. We don’t need to do any of that. We can just take the Javascript, simplify it, and get the flag. This is the simplified code that I pasted into the console.

window.location = "#about";
let t = document.getElementById('aboutTitle');
t.innerText = t.innerText + "|";
for (let i = 0; i < 9; i++) {
    setTimeout(function () {
        t.innerText = t.innerText.slice(0, -2) + "|"
    }, i * 100);
}
for (let i = 0; i < codes.length; i++) {
    setTimeout(function () {
        let text = t.innerText.replace(/\|$/, "");
        t.innerText = text + String.fromCharCode(codes[i]) + "|";
    }, i * 100);
}
t.innerText = t.innerText.replace(/\|$/, "");

By running this, we get the answer to be ping_Breaks_Things, and by guessing, we can say that we need to add a “Ty” to the beginning of that.

Flag: Typing_Breaks_Things