web/bookmarklet
This commit is contained in:
parent
cf8737a75e
commit
8228f24185
|
@ -0,0 +1,75 @@
|
|||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>picoCTF - picoGym | Bookmarklet Challenge</title>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
||||
<style>
|
||||
body {
|
||||
font-family: "Lucida Console", Monaco, monospace;
|
||||
}
|
||||
|
||||
h1,
|
||||
p {
|
||||
color: #000000;
|
||||
}
|
||||
</style>
|
||||
<!-- Sources: https://picoctf.org | https://undraw.co -->
|
||||
</head>
|
||||
|
||||
<body class="picoctf{}" style="margin: 0">
|
||||
<div class="picoctf{}" style="margin: 0; padding: 0; background-color: #757575; display:auto; height:40%">
|
||||
<a class="picoctf{}" href="/"><img src="picoctf-logo-horizontal-white.svg" alt="picoCTF logo"
|
||||
style="display: inline-block; width:160px; height:90px; padding-left: 30px"></a>
|
||||
</div>
|
||||
|
||||
<center>
|
||||
<br class="picoctf{}">
|
||||
<br class="picoctf{}">
|
||||
<div class="picoctf{}"
|
||||
style="padding-top:30px; border-radius:3%; box-shadow: 0px 5px 10px #0000004d; width: 50%; align-self: center;">
|
||||
<img class="picoctf{}" src="hero.svg" alt="flag art" style="width: 150px; height: 150px;">
|
||||
<div class="picoctf{}" style="width:85%">
|
||||
<h2 class="picoctf{}">Welcome to my flag distribution website!</h2>
|
||||
<div class="picoctf{}" style="width:70%">
|
||||
<p class="picoctf{}">If you're reading this, your browser has succesfully received the flag.</p>
|
||||
<p class="picoctf{}">Here's a bookmarklet for you to try:</p>
|
||||
|
||||
<textarea id="bookmarkletCode" rows="3" cols="45" style="color:#000000" readonly>
|
||||
javascript:(function() {
|
||||
var encryptedFlag = "àÒÆަȬëÙ£ÖÓÚåÛÑ¢ÕÓÒËɧ©í";
|
||||
var key = "picoctf";
|
||||
var decryptedFlag = "";
|
||||
for (var i = 0; i < encryptedFlag.length; i++) {
|
||||
decryptedFlag += String.fromCharCode((encryptedFlag.charCodeAt(i) - key.charCodeAt(i % key.length) + 256) % 256);
|
||||
}
|
||||
alert(decryptedFlag);
|
||||
})();
|
||||
</textarea>
|
||||
|
||||
<div id="notice" style="display: none; color: green;">Code copied to clipboard!</div>
|
||||
|
||||
<script>
|
||||
var codeTextArea = document.getElementById("bookmarkletCode");
|
||||
var notice = document.getElementById("notice");
|
||||
|
||||
codeTextArea.addEventListener("click", function () {
|
||||
codeTextArea.select();
|
||||
document.execCommand("copy");
|
||||
notice.style.display = "block";
|
||||
|
||||
setTimeout(function () {
|
||||
notice.style.display = "none";
|
||||
}, 2000);
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<br class="picoctf{}">
|
||||
</center>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,12 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
/*
|
||||
#!nix-shell -i node -p nodejs
|
||||
*/
|
||||
|
||||
var encryptedFlag = "àÒÆަȬëÙ£ÖÓÚåÛÑ¢ÕÓÒËɧ©í";
|
||||
var key = "picoctf";
|
||||
var decryptedFlag = "";
|
||||
for (var i = 0; i < encryptedFlag.length; i++) {
|
||||
decryptedFlag += String.fromCharCode((encryptedFlag.charCodeAt(i) - key.charCodeAt(i % key.length) + 256) % 256);
|
||||
}
|
||||
console.log(decryptedFlag)
|
Loading…
Reference in New Issue