~Xtreme Global Moderador
Mensajes : 75 Puntos : 197 Reputacion : 1 Inscripción : 27/01/2011 Edad : 28 Localización : Córdoba Capital , Argentina
| Tema: [Guia] Solucionar edicion en la KVS Mar Feb 01, 2011 2:35 pm | |
| Bueno amigos, aquellos que fueron hackeados en su server con la web Kachorro Web Vista Style "cualquiera", y no saben como ni porque.. aca traigo la solucion.- Bueno el problema es que hacen lo que quieren ya que la web KVS es vulnerable a la inyeccion sql en la zona de Recuperar Password. Bueno resulta que hay no esta protegido contra la inyeccion en la zona de EMAIL ¿Como solucionamos esto? Bueno en la carpeta modulos el archivo recuperarpass2.php falta una simple linea a todo el sistema anti inyec /www/Modulos/recuperarpass.php " BORREN TODO EL CONTENIDO DE recuperarpass.php " y peguen este REMPLAZEN POR ESTE " ANTES LO ESTABAN HACIENDO MAL " - Código:
-
<html> <head> <LINK REL="StyleSheet" HREF="../Estilo.css" TYPE="text/css"> </head> <body style="background-color:transparent">
<script type="text/javascript" language="Javascript"> <!-- Begin document.oncontextmenu = function(){return false} // End --> </script> <table width="420" border="0" align="center"> <tr> <td colSpan="2" align="right"> <? require '../configuracion.htpasswd'; require_once "sql_inject.php"; include_once('sql_check.php'); check_inject(); $bDestroy_session = TRUE; $url_redirect = 'index.php'; $sqlinject = new sql_inject('./log_file_sql.log',$bDestroy_session,$url_redirect) ;
$cuenta = stripslashes($_POST['cuenta']); $mail = stripslashes($_POST['mail']); $psec = stripslashes($_POST['psec']); $rsec = stripslashes($_POST['rsec']); $pass = stripslashes($_POST['pass']); $repass = stripslashes($_POST['repass']); if ((eregi("[^a-zA-Z0-9_-]", $cuenta)) || (eregi("[^a-zA-Z0-9\.@_-]", $mail)) || (eregi("[^a-zA-Z0-9_-]", $psec)) || (eregi("[^a-zA-Z0-9_-]", $rsec)) || (eregi("[^a-zA-Z0-9_-]", $pass)) || (eregi("[^a-zA-Z0-9_-]", $repass)) ) { echo("<div class=estilo_rojo align="center">SQL Injection Detectado.</div><br /><div class="style1" align="center"> Por favor utiliza solo letras(a-Z) y numeros(0-9).</div>"); exit(); }
$sql_username_check = mssql_query("SELECT memb___id FROM MEMB_INFO WHERE memb___id='$cuenta'"); $username_check = mssql_num_rows($sql_username_check);
$sql_mail_check = mssql_query("SELECT mail_addr FROM MEMB_INFO WHERE mail_addr='$mail' and memb___id='$cuenta'"); $mail_check = mssql_num_rows($sql_mail_check);
$sql_psec_check = mssql_query("SELECT fpas_ques FROM MEMB_INFO WHERE fpas_ques='$psec' and memb___id='$cuenta'"); $psec_check = mssql_num_rows($sql_psec_check);
$sql_rsec_check = mssql_query("SELECT fpas_answ FROM MEMB_INFO WHERE fpas_answ='$rsec' and memb___id='$cuenta'"); $rsec_check = mssql_num_rows($sql_rsec_check);
if (empty($cuenta) || empty($mail) || empty($psec) || empty($rsec) || empty($pass) || empty($repass)) { echo("<div class=estilo_rojo align="center">Error:</div><div class="style1" align="center">Algunos espacios fueron dejados en blanco.<br /> Vuelve atras e intentalo de nuevo.</div>"); }
elseif ($username_check <= 0){ echo "<div class=estilo_rojo align="center">Error: </div><div class="style1" align="center">La cuenta ingresada es incorrecta. <br />Por favor vuelve atras e intenta de nuevo.</div>"; }
elseif ($mail_check <= 0){ echo "<div class=estilo_rojo align="center">Error: </div><div class="style1" align="center">El Email ingresado es incorrecto.<br /> Por favor vuelve atras e intenta de nuevo.</div>"; }
elseif ($psec_check <= 0){ echo "<div class=estilo_rojo align="center">Error: </div><div class="style1" align="center">La pregunta secreta no es correcta.<br /> Por favor vuelve atras e intenta de nuevo.</div>"; } elseif ($rsec_check <= 0){ echo "<div class=estilo_rojo align="center">Error: </div><div class="style1" align="center">La respuesta secreta no es correcta.<br /> Por favor vuelve atras e intenta de nuevo.</div>"; } elseif ($pass != $repass){ echo "<div class=estilo_rojo align="center">Error: </div><div class="style1" align="center">La contraseña nueva no coincide con su repeticion.<br /> Por favor vuelve atras e intenta de nuevo.</div>"; }
else { $msquery = "UPDATE dbo.MEMB_INFO SET memb__pwd = '$pass' WHERE memb___id = '$cuenta' AND mail_addr = '$mail' AND fpas_ques = '$psec' AND fpas_answ = '$rsec'";
$sqlinject->test($msquery); $msresults= mssql_query($msquery); echo "<div align="center" class=estilo_verde>Tu Contraseña ha sido cambiado.</div><br /> <div align="center" class="estilo_verde">Tu nueva contraseña es:<b> $pass </b></div>";} $msconnect=mssql_close(); ?> </body> </html> O SUSTITUYAN EL ARCHIVO COMPLETO!!! " RECOMENDADO " http://rapidshare.com/#!download|504l3|194861185|fixrecoverpass2.php.rar|1 AHORA! PRUEBEN DE NUEVO Atte:~Xtreme | |
|