¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.



 
ÍndiceÚltimas imágenesBuscarRegistrarseConectarse

 

 [Guia] Solucionar edicion en la KVS

Ir abajo 
AutorMensaje
~Xtreme
Global Moderador
Global Moderador
~Xtreme


Masculino
Mensajes Mensajes : 75
Puntos Puntos : 197
Reputacion Reputacion : 1
Inscripción Inscripción : 27/01/2011
Edad : 28
Localización : Córdoba Capital , Argentina

[Guia] Solucionar edicion en la KVS Empty
MensajeTema: [Guia] Solucionar edicion en la KVS   [Guia] Solucionar edicion en la KVS I_icon_minitimeMar 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 Exclamation
Volver arriba Ir abajo
http://mundo.1talk.net/
 
[Guia] Solucionar edicion en la KVS
Volver arriba 
Página 1 de 1.

Permisos de este foro:No puedes responder a temas en este foro.
 :: Juegos Online :: Mu Online :: Ayuda y Creacion de Servers de Mu :: Desarrollo, Programación y Seguridad-
Cambiar a: