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 - Vaagish

#161
Huuuuu!!! Bien ahi!!! ;-)
#162
PHP / Re: Seguridad Login-Registro PHP/MySql
4 Diciembre 2014, 17:20 PM
Gracias por las respuestas! Tendré en cuenta esos consejos..

CitarY por ultimo, no existe algún "proyecto" que facilite todas las funciones de seguridad? O sea,, algún código ya armado y testeado? Aunque sea de pago, vale la pena por la seguridad del sitio..

CitarSi.. casi cualquier framework. Y deberias usarlo ya que ya hay gente que se ha preocupado por hacer seguras estas cosas.. no hace falta reinventar la rueda. Mirate alguno basico como CodeIgniter.

Exacto! Aunque puse al final eso, lo mejor es usar algo ya testeado, a parte del tiempo que consume programar registro y login,, pero siempre es bueno saber como funcionan las cosas.. voy a mirar ese que me decis ahi..

Gracias otra vez! Saludos!
#163
PHP / Seguridad Login-Registro PHP/MySql
3 Diciembre 2014, 22:57 PM
Hola!

Estoy realizando una web del estilo compra/venta y aunque me manejo relativamente bien en la programación web, no tengo tanta experiencia formada..

Me gustaría leer de otros usuarios mas experientes, cuales son los mejores métodos para tener un registro y un login seguro en PHP y MySQL..

Estoy viendo de usar algo asi:

Código (php) [Seleccionar]
<?php

include_once(
"functions.php");

$mysqli connect();

$email  mysqli_real_escape_string($mysqlistrip_tags($_POST['emilio']));
$pass mysqli_real_escape_string($mysqlistrip_tags($_POST['psw']));

$stmt $mysqli->prepare("SELECT email, pass FROM users WHERE email = ? AND pass = ?");
$stmt->bind_param('ss'$email$pass);
$stmt->execute();
$stmt->bind_result($Umail$Upass);

if($stmt->fetch() == 'true')
{
echo "Login!!";
} else{
echo "Logout!!";
}

$stmt->close();

?>


functions.php

Código (php) [Seleccionar]
function connect()
{
include_once("db.php");
$mysqli = new mysqli($host, $user, $pass, $db);
if ($mysqli->connect_errno) echo "Fallo al contenctar a MySQL: " . $mysqli->connect_error;
return $mysqli;
}


Ya se que el tema es super extenso, que hay muchas formas de protegerse y lo mejor es combinarlas, se que no solo es cuestión de código, sino de seguridad en el servidor también.. no pretendo una explicación detallada, pero al menos lo fundamental, que no puede faltar!!  :rolleyes:

Voy a numerar las que yo conozco, y si falta algo me ayudan comentando abajo..


  • Usuarios restringidos MySql
  • Cifrado de contraseña
  • Permisos restringidos de las carpetas y archivos PHP
  • Contador de intentos de login
  • Escapar caracteres "malos"

Aclaro.. hablo de lo fundamental, que no debería faltar nunca para un registro/login seguro..

Y por ultimo, no existe algún "proyecto" que facilite todas las funciones de seguridad? O sea,, algún código ya armado y testeado? Aunque sea de pago, vale la pena por la seguridad del sitio..

Saludos! Perdon si es muy largo el post
#164
ASM / Re: Puerto y Memoria Grafica?
2 Noviembre 2014, 00:37 AM
Hi! Gracias T.Collins, me estoy basando en gran parte en la misma web.. pero justo eso no lo había visto.. Eso confirma mi suposición..

Y si, debe ser bastante complicado.. Me cuesta entender como lograr la combinación de colores por pixel para lograr por ejemplo.. una textura humana, o una imagen de calidad.. el proceso de definir la mezcla correcta en la paleta para pintar un misero pixel, para luego modificar esa paleta para lograr otro pixel... suena imposible,, pero claro que no lo es..  :silbar:

Gracias! Saludos!
#165
ASM / Puerto y Memoria Grafica?
1 Noviembre 2014, 22:42 PM
Buenas! Estaba revisando este codigo.. Lo que hace es modificar la paleta de colores y escribir pixeles de colores (en forma de franjas) en la pantalla... al presionar una tecla, modifica la paleta y otra vez lo mismo..

Código (asm) [Seleccionar]
mov ax, 0013h ; Modo Grafico (ah = 00h / al = 13h)
int 10h ; Esta interrupción controla los servicios de pantalla del PC
mov ax, 0A000h ; Direccion de video (grafica)
mov ds, ax  ; DS = A000h (memoria de graficos). DS esta concatenado con DI

; ========== Cambiar paleta de colores ==========

mov dx, 3c8h ; Empezamos a modificar la paleta de colores
mov al, 0    ; Desde la entrada 0
out dx, al
inc dx      ; DX = 3C9h.

mov cx, 10 ; Se van a modificar 10 entradas ( cx se ve afectado con loop )

SigEntrada:    ; Modificar 10 entradas de la paleta

; Rojo.
mov al, 0
mul cl
out dx, al
; Verde
mov al, 0
mul cl
out dx, al
; Azul
mov al, 6
mul cl
out dx, al

  loop SigEntrada

; **************************************

  xor dx, dx
L1: ; Cuando vuelve a esta etiqueta no limpia dx, util para cambiar los colores
mov cx, 64000
  xor bx, bx
  xor di, di

NuevaLinea:
mov [di], dx
inc di
inc bx
cmp bx, 6400
jne SigPixel
xor bx, bx
inc dx
SigPixel:
loop NuevaLinea

; Esperar tecla
mov ah, 10h
int 16h

inc dx ; Otra entrada en la paleta de colores y volver a cargar
jmp L1




Ese codigo es 16-Bits y lo corro en Modo real.. Ahora la pregunta:

Si lograse pasar a modo protegido y quisiese dibujar algo avanzado (digamos, una ventana moderna, con muchos colores y bien ubicados, como un SO moderno) deberia de tener a nivel de nucleo, "algo" que modifique la paleta y haga el respectivo "out", como en ese codigo, verdad? O es de otra forma?

Y de ser así, seria como un driver,, y como podría ser la forma mas "optima" de implementar esa rutina? O algún material de referencia.. Parece trabajo difícil, de mucha matemática  :rolleyes:

Saludos! Gracias!
#166
Citar1290 entry point (00401290)

¿Te sigue pasando con esa version? Vos tomas el ejecutable original, lo pasas por la funcion Crypt y despues el DUMPBIN te dice que cambio el EP. ¿Correcto?

Mmm.. Si / No.. Resultados de dumpbin:

Antes de cifrar: 1290 EntryPoint
Después de cifrar: 1290 EntryPoint

Según dumpbin queda igual.. pero en ollydbg empieza en 00405822, ademas, si inserto la rutina descifradora, windows dice que "dejo de funcionar" (suponiendo que todo esta bien,,, menos ese maldito EP!)

Yo llamo así a la función (pero uso CommandLineToArgvW):
Código (cpp) [Seleccionar]
Crypt(filenin, ".text");

Igual con una simple pausa puedo ver que los parámetros de Crypt están bien...

EDITO: Tengo otros PE's que NO pasa lo mismo..  :rolleyes:
#167
Citar¿El nc.exe es el mismo que esta aca? http://eternallybored.org/misc/netcat/ Con ese no me pasa lo que decis

Ya lo baje, esa version 1.12 pesa un poco mas, (yo tenia la 1.11) A vos no te pasa EI pusiste ahi.. el mio sigue igual..

Debe ser un problema de tamaño y sino dejo la computación y me dedico a la mecánica  :xD

Vos tenes 64bits.. yo 32.. es la única diferencia que noto..

@MCKSys: En ese code no se cambia el tamaño, pero en el otro crypter si, voy a revisar el UPX a ver que trae.. a lo mejor sea agregar una sección mas la solución.. como decís..

Saludos! Gracias!!
#168
Yo tampoco.. voy a bajar ese nc a ver si es por eso.. tengo una version de nc con su codigo, pero jamas pense que fuera eso.. va.. ya dudaba de todo en realidad..

Es de 32 bits (nc y crypter)

Mañana actualizo..

Saludos!
#169
Mira:

Valores de Start

Citar900098 -> IOH

900400 -> .text
905800 -> .data
905A00 -> .rdata
900000 -> .bss
906C00 -> .idata
907800 -> .CRT
907A00 -> .tls

Si comento esto:
Código (cpp) [Seleccionar]
for(DWORD i=0; i<ISH->SizeOfRawData; i++)
Start[i] ^= 'a';


El EP no cambia,, pero claro.. tampoco se cifra   :silbar:

Ahora que veo bien... porque va a estar IOH en ese lugar ???? No esta mal eso?

Salu2
#170
Citarentonces deberias usar SizeOfRawData

Oky, cambiado..

CitarNo tengo ese ejecutable a mano, pero con unos simples printfs podrias ver a que equivale lpFileMap, Start e IOH que es lo que estas tocando sin querer.

Ya imprimí, use dumpbin, windgb, olly, la mar en coche, etc, etc  :xD

Ya creo que es con nc, voy a probar con otros ejecutables grandes.. a ver que pasa..

Salu2!