Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Graphixx

#1451
Para que los keyloggers no las capturen se puede hacer:

contraseña original: carlos45ospina

en un campo de contraseñas quedaria: **************

Usando algo de astucia:

al iniciar sesion copio: 33carlos457ospina56

en un campo de contraseñas quedaria: *******************

si se que los primeros dos caracteres, no van y los elimino parandome con el mouse sobre ellos seleccionandolos y dandole backscape. despues restaria pararme en el 9 caracter (seria el 7 sobrante despues de eliminar los dos primeros) y nuevamente backscape y por ultimo me paro en los dos ultimos restantes selecciono y backscape.

en cualquier keylogger en el registro saldria algo como:
<< iniciar sesion - firefox >> 33carlos457ospina56 [back][back][back]

donde cada [back] representa que el usuario uso backscape, mas como usamos el mouse para seleccionar varios caracteres que sobraban el "cracker" no sabra cuantos caracteres borramos por ves podria haber sido uno, podrian haber sido 10. asi mismo no sabe en que posicion de la cadena los eliminamos al no haber usado el teclado para desplazarnos.

conclusion: es el unico metodo seguro que se me ocurre para proteger las contraseñas, almenos por el lado del ingreso desde cualquier interfaz.
#1452
La idea es lograr algo como esto:
http://live.feedjit.com/live/sistemasycontroles.net/0/

SI se fijan marcan con flechas verdes los ingresos y con flechas rojas las "salidas" y hacia donde partio el usuario, como lo logran ?
#1454
Entonces Yoya, o algun otro usuario... creen que con el nuevo sistema de login, aun sigue siendo vulnerable ?
#1455
mmmmm gracias por tu analisis yoya, la verdad yo lo use hace años para una intranet que no hiba tener acceso a internet (gracias a Dios). cuando apenas estaba empezando. y no lo volvi a revisar incluso lo habia pasado a español, pero ya ni encuentro la traduccion.

EN su tiempo lo vi genial, algun sistema moderno asi que recomiendes ?

Y otra cosa, cuando uno usa una validacion javascript para comprobar si el usuario que estan ingresando de verdad existe en la BD, antes de confirmar usuario-contraseña, se podria decir que se protege el login de SQLI ?

algo asi:

El formulario de login:
Código (php) [Seleccionar]

<?php
if(isset($_POST['send'])){
if(consultarEmaillogin())
$emailogin "error";

//Comprobamos si todo ha ido bien
if($emaillogin != "error")
$status 1;
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>login</title>
</head>
<body>
<font face="Arial">
<center>
Sistema Central de gestion de Digitadores
</center>
<?php if(!isset($status)): ?>
                   <center><form name="form1" method="post" action="procesar_ingreso.php">
                     <table width="200" border="0" align="center">
                       <tr>
                         <td>correo electr&oacute;nico</td>
                         <td><input type="text" name="emaillogin" id="emaillogin" onblur="return consultarEmaillogin()" /></td>
                       </tr>
                       <tr>
                         <td height="49">contrase&ntilde;a</td>
                         <td><input type="password" name="password" id="password" />
                           <font size=1><a href="sendpass.php">&iquest;Olvid&oacute; su contrase&ntilde;a?</a></font></td>
                       </tr>
                       <tr>
                         <td colspan="2"><center>
                           <input type="submit" name="nuevo" id="nuevo" value="Ingresar" />
                         </center></td>
                       </tr>
                     </table>
                       <label for="password"></label>                      
                   </form></center>
           <?php else: ?>
<center><h1></h1></center>
<?php endif; ?>
</font>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="main.js"></script>
</body>
</html>


el javascript que valida (main.js - utiliza jquery.js):
$(document).ready(function(){
//variables globales
var searchBoxes = $(".text");
var inputUsername = $("#username");
var reqUsername = $("#req-username");

function consultarEmaillogin(){
var emailogin = inputEmaillogin.val();
$.getJSON('consultar_num_doc.php?email='+emailogin,function(data){
if( data.existe == false ){
alert("Este email no esta registrado");
inputEmaillogin.addClass("error");
   return false;
}
});
}

inputEmaillogin.blur(consultarEmaillogin);

//controlamos la validacion en los distintos eventos
// Perdida de foco
inputUsername.blur(validateUsername);
inputUsername2.blur(validateUsername2);
inputPassword1.blur(validatePassword1);  
inputPassword2.blur(validatePassword2);

// Pulsacion de tecla
inputUsername.keyup(validateUsername);
inputUsername2.keyup(validateUsername2);
inputPassword1.keyup(validatePassword1);
inputPassword2.keyup(validatePassword2);

// Envio de formulario
$("#form1").submit(function(){
if(validateUsername() & validateUsername2() & validatePassword1() & validatePassword2() )
return true;
else
return false;
});

//controlamos el foco / perdida de foco para los input text
searchBoxes.focus(function(){
$(this).addClass("active");
});
searchBoxes.blur(function(){
$(this).removeClass("active");  
});

});


y si se valida por javascript que el usuario ingresado existe se procede a validar su ingreso asi (procesar_ingreso.php):
Código (php) [Seleccionar]

<?php
   
include("libreria_ingreso.php");
                                                                                    
    if(
chequear_campos_vacios() and chequear_invalidos()) 

$email$_POST['emaillogin'];
        
$password$_POST['password'];
        
$connect=Conectarse(); 

//Sentencia SQL para buscar un usuario con esos datos
$ssql "SELECT * FROM admin WHERE email='$email' and clave='$password'";

//Ejecuto la sentencia
$rs mysql_query($ssql,$connect); 

if (
mysql_num_rows($rs)!=0){
    
//usuario y contraseña válidos
    //defino una sesion y guardo datos
    
session_start();
    
$_SESSION["email"]=$_POST['emaillogin']; 
    
header ("Location: admin.php");
}else {
    
//si no existe le mando otra vez a la portada
$mensaje="contraseña invalida";
print "<script>alert('$mensaje')</script>";
    print(
"<script>window.location.replace('index.php');</script>"); 
//header("Location: index.php");

mysql_free_result($rs);
mysql_close($conn); 
  
}
 
?>

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="main.js"></script>

#1456
Cuando desees usar autenticacion por grupos, o niveles dentro dela web te recomiendo este script muy muy bueno.

http://www.beanbug.net/vScripts.php

El que dice:  vAuthenticate 3.0.1 
#1458
Intente cuadrarlo asi:
Código (php) [Seleccionar]

<?php
function get_search($referer)
{
preg_match("/q=(.*?)&/"$referer$a);
$b str_replace("+"," "$a[1]);
$b str_replace("%3A",":"$a[1]);
$b str_replace("%2F","/"$a[1]);
return $b;

}
 
if(
stristr($_SERVER['HTTP_REFERER'],'google')){
print '<strong>Bienvenido, la busqueda de:</strong> '.get_search($_SERVER['HTTP_REFERER']);
print ' <strong>te ha traido hasta este sitio. Gracias por visitarme =).</strong>';
}
?>


pero me mostro:
Bienvenido, la busqueda de: http%3A//www.sistemasycontroles.net/ip te ha traido hasta este sitio. Gracias por visitarme =).

No tomo el $b = str_replace("%3A",":", $a[1]); , Alguien sabe por que ?
#1459
Cita de: drvy | BSM en 31 Diciembre 2010, 16:58 PM
Lo primero no lo veo posible a no ser que el propio link hacia el que va a partir el usuario no este indicado en tu propia pagina.

Lo segundo,  segun he entendido queres saber lo que buscaba el usuario mediante el referer o algo asi no ?

seria parecido a esto:
Código (php) [Seleccionar]

<?php
function get_search($referer)
{
preg_match("/q=(.*?)&/"$referer$a);
$b str_replace("+"," "$a[1]);
return $b;
}

if(
stristr($_SERVER['HTTP_REFERER'],'google')){
print '<strong>Bienvenido, la busqueda de:</strong> '.get_search($_SERVER['HTTP_REFERER']);
print ' <strong>te ha traido hasta este sitio. Gracias por visitarme =).</strong>';
}
?>



Saludos

COmpa mira lo que me devuelve el code que posteaste:
Bienvenido, la busqueda de: http%3A%2F%2Fsistemasycontroles.net%2Fip te ha traido hasta este sitio. Gracias por visitarme =).

los : salen como "%3" y el / sencillo como "%2F"

Para lo de las palabras claves de busqueda en google con las que llegaron a la web, creo y va ser mejor usar:
http://www.phpclasses.org/package/4383-PHP-Extract-keywords-used-to-search-in-the-site-Google.html

Código (php) [Seleccionar]

<?php
function GoogleQuery ()
{

//Comprobamos que la pagina referente pertenece a Google
if (strpos ($_SERVER["HTTP_REFERER"], "google"))
{

//Almacenamos en la variable $string el contenido de la variable $_SERVER["HTTP_REFERER"]
$string $_SERVER["HTTP_REFERER"];

//Inicialimamos a 0 el valor de la variable que nos indicara la longitud de la cadena contenida en la variable q.
$longQuery 0;

// — Encontramos la variable q y su final delimitado por &
for ($i=0$i strlen ($string); $i++){
if (
$string[$i] == 'q')
{
for (
$n=$i$n strlen ($string) ;$n++)
{
if (
$string[$n] == '&')
{
// — Extraemos la subcadena a partir de las posiciones de (inicio)$i+2 [excluimos 'q='] y (fin)$n-2 [adelantamos 2 posiciones el final de la cadena resultante]
$q substr ($string$i+2$longQuery-2);
break;
}
$longQuery ++;
}
break;

}

}

//reemplazamos los símbolos + por espacios en blanco
$q str_replace('+',' ',$q);

}

return 
$q;

}

//Mostramos el resultado haciendo una llamada a la función
echo GoogleQuery ();
?>


ya probe esta funcion y retorna lo mismo  :rolleyes:
#1460
Cita de: jamescua en  3 Enero 2011, 05:24 AM
si señor vale platica, aun necesitas saber donde? en que ciudad de colombia?

claro, cualquier lugar de COlombia me sirve, yo mando el disco por servientrega, coordinadora, fedex. cualquier cosa quien me tenga info me puede enviar un privado.