comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[Tutorial] PHP no alfanumerico

  • 1 Respuestas
  • 1077 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado arthusu

  • *
  • Underc0der
  • Mensajes: 550
  • Actividad:
    8.33%
  • Reputación 2
  • Yo solo se que no se nada - Socrátes
    • Ver Perfil
    • Arthusu BLOG
  • Skype: arthusuxD
« en: Agosto 11, 2013, 11:00:31 pm »
Citar
Este tutorial ha sido originalmente creado por Gareth Heyes en su BLOG:
 No tienes permisos para ver links. Registrate o Entra con tu cuenta
 Esto solo es una traduccion, espero que les sea de ayuda como me fue a mi al investigar sobre el tema, ademas pueden usar su herramienta No tienes permisos para ver links. Registrate o Entra con tu cuenta para generar este tipo de obfuscado.
 
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta

 
 Mi primer post de código no alfanumérico era un poco breve, en la emoción del descubrimiento y falle en profundizar el proceso. He decidido seguir con este tutorial y espero explicar mejor el proceso para cualquiera que quiera aprender o mejorar esta técnica.
 
 La base de código PHP no alfanumérico es aprovechar el hecho de que PHP automáticamente convierte matrices (Arrays) en una cadena "Array" cuando se usa en un contexto de cadenas. Un ejemplo sencillo seria:
  $x= array(1,2,3);
 echo $x; // Salida: Array
 
 $x ahora es la cadena "Array". Perto te daras cuenta que usamos caracteres alfanumericos, tambien podemos crear una matriz sin utilizar array() como el siguiente:
 
 $_="";
 $_[+""]='';
 echo $_; // Salida Array
 
 La primera parte crea una variable "$_" la segunda parte hace referencia a 0 mediante el operador de prefijo de una cadena en blanco para convertir a 0, la asignación crea el array. Este fue un primer intento de hackear una matriz cuando escribí por primera vez, pero se pueden utilizar todo tipo de trucos, por ejemplo, no es necesario que parta de "0".
 
 $_="";
 $_[+$_]++;
 echo $_; // Salida Array
 
 Te dejare a ti experimentar formas de crear matrices pero tu tienes la idea.
 Claro nosotros tenemos los caracteres "A","r","r" etc, Ahora tenemos que acceder a ellos y afortunadamente PHP es muy similar a JavaScript en ese sentido. El primer paso es forzar a nuestra matriz (Array) dentro de la cadena actual para concatenar con una cadena en blanco como esto:
 
 $_=$_.""; // $_ contiene nuestro Array anteriormente creado y lo forzamos dentro de una cadena
 
 El siguiente paso es acceder a la letra actual y PHP convenientemente provee el mismo método que javascript para acceder. Para hacerlo necesitamos cero (0), como mostramos antes usando el operador prefijo con una cadena en blanco podemos convertir a cero (0) (también como javascript).
 
 echo +""; // Salida 0
 
 Usando el 0 nosotros podemos acceder a nuestra letra "A" desde la matriz convertida.
 
 echo $_[+""]; // Salida "A"
 
 Ahora originalmente por que estaba descubriendo esta técnica hice algunas operaciones matemáticas locas en múltiples caracteres para obtener otros caracteres para la matriz, pero esto no fue necesario como Stefan Esser propuso puede ser mas simple usar cadenas de incremento/decremento. Pero de cualquier manera yo imagine la salida de las letras haciendo una anidación de todos los caracteres en bucles, luego haré un post del script. Por ahora vamos simplemente a incrementar/decrementar los caracteres que nosotros necesitemos. Mostraremos como obtener la letra "B" primero.
  $_=""; // nosotros necesitamos una cadena en blanco para comenzar
 $_[+$_]++; // Accedemos a la parte de la cadena y lo convertimos en una matriz
 $_=$_.""; // Convertimos la matriz en una cadena "Array"
 $_=$_[+""]; // Accedemos a el índice 0 de nuestra cadena "Array" que es "A"
 echo ++$_; // Incrementamos "A" a "B"
 
 Esto es lo básico de como funciona, nosotros necesitamos crear una una cadena que llame a una función tal como "chr" o genere caracteres manualmente y entonces una función basada en eval para llamar a nuestro código. El post original usaba GET pero desde que ya esta documentado te mostrare como generar código diferente. Nosotros usaremos la función "assert" de PHP, ya que evalúa código y se le permite ser llamado usando referencias de cadenas de su nombre. Por ejemplo:
  $_="assert";
 $_("print 1+1"); // Output 2
 
 Por lo tanto necesitamos generar "assert" y nuestro código llamado. Usando el ejemplo de antes que nosotros generamos "Array" nosotros simplemente creamos nuevas referencias y incrementamos los caracteres que necesitemos.
 
 
 $_="";// Nosotros necesitamos una cadena en blanco para comenzar
 $_[+$_]++;// Accedemos a la parte de la cadena para convertirla en una matriz(Array)
 $_=$_."";// Convertimos la matriz en una cadena "Array"
 $__=+"";// Creamos 0
 $__++;// Incrementamos a 1
 $___=$_[+""];// Accedemos al índice 0 de la cadena "Array" que es "A"
 $____=$____=$_[$__];// Accedemos al índice 1 de la cadena "Array" que es "r"
 $_____=$____;// Asignamos "r" para una nueva variable
 $_____++;// Incrementamos a "s"
 $______=$___;// Nueva variable para "E"
 $______++;$______++;$______++;$______++;//Incrementamos para "E"
 $_=$___.$_____.$_____.$______.$____.++$_____;//Concatemos las cadenas para formar "AssErt"
 $_("p".$____."in".$_____." $__+$__");//Llamamos "print 1+1"
 
 Usted notara que faltan caracteres al final "p","i" y "n" son alfanuméricos esos son para que pueda generar el uso de las técnicas descritas. Hay retos distintos que hacer después de eso, por ejemplo, una pregunta que debe hacerse es "¿Cuantos caracteres son el mínimo necesario para generar código no alfanumérico?" Otro reto es "¿Cual es la cantidad mínima de caracteres para crear un generador de código no alfanumérico?". Espero que hayan disfrutado de esta escritura y disfrutado creando y buscando nuevas cosas con no alfanuméricos en PHP!
 
 Retos:
 
 1.- Completa el código "print 1+1" al final del ultimo ejemplo (Básico)
 2.- Busca el mínimo de caracteres requeridos para generar código no alfanumérico, ejemplo: usando solo $_ + etc (Difícil)
 3.- Crea un generador no alfanumérico en PHP la mas pequeña cantidad de código posible como este: The HackVertor Non-Alpha tag (No tienes permisos para ver links. Registrate o Entra con tu cuenta) (Difícil)
 
 Lideres del reto:
 1.- @insertScript
 Reto 1 - Hecho
 Reto 2 - Hecho (usando $_()[]+=.;)
Pentest - Hacking & Security Services

Contact me: arthusu@gmail.com

Desconectado alexander1712

  • *
  • Underc0der
  • Mensajes: 850
  • Actividad:
    0%
  • Reputación -2
    • Ver Perfil
    • El blog del programador
    • Email
« Respuesta #1 en: Agosto 14, 2013, 02:24:54 pm »
muy interesante lectura y queda muy interesante el código.

si tengo un rato experimentaré con eso, aunque ando con mucho trabajo jejeje

saludos!

 

¿Te gustó el post? COMPARTILO!



[Tutorial] Utilizar el método GET para simplificar páginas [Xt3mP]

Iniciado por Xt3mP

Respuestas: 0
Vistas: 1320
Último mensaje Marzo 19, 2010, 01:15:53 am
por Xt3mP
[Tutorial] Login y registro basico sin unas base de datos

Iniciado por HckDrk

Respuestas: 11
Vistas: 7337
Último mensaje Noviembre 21, 2011, 07:37:49 am
por Xt3mP
[Tutorial] Cambiar password aleatoriamente y UPDATE a la DB [Xt3mP]

Iniciado por Xt3mP

Respuestas: 0
Vistas: 1081
Último mensaje Marzo 19, 2010, 01:21:11 am
por Xt3mP
[Tutorial] Encriptar password y login básico [Xt3mP]

Iniciado por Xt3mP

Respuestas: 0
Vistas: 1424
Último mensaje Marzo 19, 2010, 01:19:36 am
por Xt3mP
[Tutorial] Crear un domain checker básico [Xt3mP]

Iniciado por Xt3mP

Respuestas: 0
Vistas: 1177
Último mensaje Marzo 19, 2010, 01:17:06 am
por Xt3mP