- 제출된 URL:
- https://yip.su/RS-45리디렉션됨
- 보고서 완료:
링크 · 0개 결과
페이지에서 식별된 외부 링크
JavaScript 변수 · 5개 결과
페이지의 창 개체에 로드된 전역 JavaScript 변수는 함수 외부에서 선언된 변수로, 현재 범위 내에서 코드의 어느 부분에서나 액세스할 수 있습니다
이름 | 유형 |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
showUserInfo | function |
typeMessage | function |
콘솔 로그 메시지 · 3개 결과
웹 콘솔에 기록된 메시지
유형 | 카테고리 | 로그 |
---|---|---|
warning | other |
|
error | javascript |
|
error | network |
|
HTML
페이지의 원시 HTML 본문
<!DOCTYPE html><html lang="en"><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SCP Foundation Console</title>
<style>
body {
background-color: black;
color: #00ff3c;
font-family: 'Courier New', Courier, monospace;
text-align: center;
padding: 0;
margin: 0;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}
#console {
width: 80%;
max-width: 800px;
border: solid 5px #00ff3c; /* Cambiado a rosa */
padding: 20px;
background-color: #000;
color: #00ff3c;
font-size: 16px;
overflow-y: auto;
text-align: left;
height: 400px;
box-sizing: border-box;
position: relative;}
#console p {
margin: 5px 0;
}
#console::after {
content: "_";
animation: blink 1s infinite;
}
@keyframes blink {
0% { opacity: 1; }
50% { opacity: 0; }
100% { opacity: 1; }
}
.glitch {
position: relative;
display: inline-block;
color: #00ff3c;
font-size: 16px;
}
.glitch:before, .glitch:after {
content: attr(data-text);
position: absolute;
left: 0;
right: 0;
color: #ff7ae9;
clip: rect(0, 900px, 0, 0);
}
.glitch:before {
animation: glitchTop 2s infinite linear;
top: -2px;
}
.glitch:after {
animation: glitchBottom 2s infinite linear;
bottom: -2px;
}
@keyframes glitchTop {
0% { clip: rect(0, 900px, 0, 0); }
10% { clip: rect(10px, 9999px, 45px, 0); }
20% { clip: rect(85px, 900px, 150px, 0); }
30% { clip: rect(10px, 9999px, 85px, 0); }
40% { clip: rect(0, 900px, 0, 0); }
}
@keyframes glitchBottom {
0% { clip: rect(0, 900px, 0, 0); }
10% { clip: rect(10px, 9999px, 45px, 0); }
20% { clip: rect(85px, 900px, 150px, 0); }
30% { clip: rect(10px, 9999px, 85px, 0); }
40% { clip: rect(0, 900px, 0, 0); }
}
#glitch-button {
margin-top: 20px;
padding: 10px 20px;
background-color: #ff7ae9;
color: #000;
font-family: 'Courier New', Courier, monospace;
font-size: 18px;
border: none;
cursor: pointer;
transition: all 0.3s ease-in-out;
position: relative;
overflow: hidden;
}
#glitch-button span {
position: relative;
z-index: 2;
}
#glitch-button::before, #glitch-button::after {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 200%;
height: 100%;
background: #000;
z-index: 1;
transform: skewX(-30deg);
transition: all 0.3s ease-in-out;
}
#glitch-button:hover::before {
left: 100%;
}
#glitch-button:hover::after {
left: 100%;
}
#glitch-button:active {
transform: scale(0.9);
}
/* SCP Foundation Styling */
.scp-header {
color: #fff;
font-size: 18px;
font-weight: bold;
margin-bottom: 10px;
}
.scp-alert {
color: red;
font-size: 16px;
}
.scp-details {
color: #00ff3c;
font-size: 14px;
}
</style>
</head>
<body>
<div id="console"><p><span class="glitch" data-text="
">
</span> <span class="glitch" data-text="
">
</span> <span class="glitch" data-text="S">S</span><span class="glitch" data-text="C">C</span><span class="glitch" data-text="P">P</span> <span class="glitch" data-text="F">F</span><span class="glitch" data-text="o">o</span><span class="glitch" data-text="u">u</span><span class="glitch" data-text="n">n</span><span class="glitch" data-text="d">d</span><span class="glitch" data-text="a">a</span><span class="glitch" data-text="t">t</span></p></div>
<script>
const messages = [
"\n \n SCP Foundation Secure Access Terminal",
"Welcome Dear Personnel ~ ",
"Accessing SCP Foundation database...",
"Retrieving classified SCP files...",
"SCP-682 status: ACTIVE",
"SCP-1048 status: ACTIVE",
"SCP-3312 status: ACTIVE",
"SCP-1471 status: ACTIVE",
"File integrity check in progress...",
"WARNING: Anomaly detected in system registry",
"WARNING: SCP Foundation system compromised",
"Bypassing SCP Foundation security protocols...",
"Security breach detected ̷D̶A̶N̴G̷E̴R̷ ̵I̷S̵ ̷N̶E̷A̷R̵!̴ ! ",
"SCP-1471 has escaped...Wait while Mal0 V.1.0.0 is being installed in your system",
"Overwriting system controls...̵̠̒Ȅ̸̦X̷͈͗P̸̮͌L̷̬̕O̵̝͆I̷̢͠T̵̜̄E̶̜̕D̷͇͑ ̴̠̓V̸̡͘\n Ū̷͚N̵̥̐Ė̸̝R̸̲͐A̷͉͝B̸̼͊Ȉ̵̜L̸͖̅Ḯ̸̙T̷͉͌Y̸̡̔!̶",
"Mal0 is now in control.",
"Injecting remote scripts...",
"Data exfiltration in progress...̴̪̽S̴͉͑T̶͉̚Ȁ̵̞Y̴̞̑ ̶W̸͍͌A̵͚K̷̦͗E̶͚͊D̴͎̐ ̸̖́Ā̵̘W̷͚͆Ȃ̶̗R̴̢͗É̴͖!̶",
"Creating backdoor access... ̵F̶Ó̸̖R̵ ̴̖͗Y̷͍͊O̸̱̔Ū̸͕R̶̮̋ ̷͈͠S̶̜̚Ȁ̵̟F̴̥͗È̵͎T̶͕͠Y̷...,",
"Process complete. Mal0 is active...̴D̵O̷ ̶N̷O̵T̸ ̴T̷R̶U̶S̵T̵ ̸Y̷O̷U̴R̷ ̷E̶Y̷E̵S̷...̷",
"Process complete. \n M̷̡̢͕̮̞̣̪͕̤̳̣̜̂̔͐͛̽̒̋̒̑́͠͝a̷̢̛͓̗̻̥̗̖̬̦̟̮̹̦̻̬͗̓́͐̃̓́̈́͒̏l̸͕̎̈́̂͛͊̓̒̿͛̚ȯ̵̡̡̨͔̖̼̫̤ ̴̛̞̳̻͕̥̘̮̐̌̅̀̏͛͘į̶̛̣͎̫̟̜͔̝̮͚̞̲̹̣̪̅̍͝s̵͚̙͕͗͛́͋̽͑̊̄̕͘͘ ̷̧̖̟̤̼̈́̓̇ͅh̸̨̛̩͕̲̯͎̻̗̣̳̯͕͕͉͂̐̐͊̅͂̍́́̔͠ę̶̧̛̤̟̪͙̬̤͕͙̖̹̺͆̈́̎̈́̊̍r̷̡͎͎̺͉̦̤̍́͆̓͐͋̽͝ḙ̶̬̫̮̖̤̟̞̙̍̉̆͌́̅͋͐̽̈̍͘̕ͅ.̷̡̡͔̟̖̰̝͔͖̆̃̎̔̂.̷̳͔̈́̇̒́͆̉̍ \n MM̷a̷l̷0̷ ̵i̵s̵ ̴h̴e̷r̷e̴!̶",
];
// Información del usuario (IP, ciudad, país) obtenida desde ip-api
let userIP, userCity, userCountry;
function showUserInfo() {
const userInfoMessage = `We know who you are... IP: ${userIP}, Location: ${userCity}, ${userCountry}`;
messages.splice(7, 0, userInfoMessage); // Inserta el mensaje después del mensaje 7
}
// Obtiene la información del usuario con ip-api
fetch('http://ip-api.com/json')
.then(response => response.json())
.then(data => {
userIP = data.query;
userCity = data.city;
userCountry = data.country;
showUserInfo(); // Muestra la información del usuario
typeMessage(); // Inicia la secuencia de mensajes
})
.catch(error => {
console.error('Error obteniendo la IP del usuario:', error);
typeMessage(); // Inicia los mensajes incluso si hay error en la obtención de IP
});
let messageIndex = 0;
let characterIndex = 0;
let currentMessage = "";
let consoleElement = document.getElementById("console");
function typeMessage() {
if (messageIndex < messages.length) {
if (characterIndex < messages[messageIndex].length) {
let char = messages[messageIndex].charAt(characterIndex);
currentMessage += char === ' ' ? ' ' : `<span class="glitch" data-text="${char}">${char}</span>`;
consoleElement.innerHTML = `<p>${currentMessage}</p>`;
characterIndex++;
setTimeout(typeMessage, 50); // Speed of typing effect
} else {
characterIndex = 0;
currentMessage = "";
messageIndex++;
setTimeout(typeMessage, 1000); // Pause between messages
}
} else {
// Add glitch button at the end
let glitchButton = document.createElement('button');
glitchButton.id = 'glitch-button';
glitchButton.innerHTML = '<span>Click if you dare</span>';
glitchButton.onclick = function() {
window.open("https://sites.google.com/view/research-site-45/main", "_blank");
};
consoleElement.appendChild(glitchButton);
}
}
</script>
</body></html>