Anda di halaman 1dari 5

Busqueda Binaria Aplicada a las Blind SQL

Injection
Bsqueda Binaria Aplicada a las Blind SQL Injection
Antes de empezar me gustara aclarar algunas cosas:
No Pretender Ocupar conceptos enredados, ni tampoco caer en tecnicismo, lo explicare
como yo lo entiendo, y como me fuese gustado que me lo explicaran.
Esta Pulicaci!n esta enfocada a las personas que tengan nociones "sicas de #lind $%&
'n(ection, quienes no saen de qu estoy )alando, es me(or que usquen alg*n tutorial de
este tipo de +ulnerailidad en Nuestra ,omunidad. o lean los siguientes conceptos.
Conceptos :
-. $eccion $%& 'n(ection en .ndersecurity
/. 0%ue es el 1ormato A$,''2
Comandos en MYSQL :
-. 3'4
/. A$,''
Control De Flujos:
-. ,A$E
/. '1
Informacin Blind SQL Injection
-. #lind $%& 'n(ection y Netting
Informacin Bsqueda Binaria
-. #usqueda #inaria
/. Arol #inario
Ahora bien empecemos
&as #lind $%& 'n(ection, es un tipo de +ulnerailidad que es astante com*n y de una explotaci!n
astante sencilla, pero tiene ! solo pro"lema. #s necesario $enerar una cantidad de peticiones
"astante considera"les %asta encontrar un &alor &erdadero' (or lo que se con&ierte en una
e)plotacin "astante lenta * tediosa'
Por E(emplo, Planteemos el $iguiente Escenario.
+a"la ,ser
Datos Contenidos en la ta"la ,ser:
,suario: Administrador
(ass-ord: .ndersecurity
A)ora ien, Para Empezar Nosotros Otendremos el Primer 5alor del .suario, mediante la
metodologa ,om*n para explotar las #lind $%& 'n(ection. 6En un Amiente ,ontrolado dentro de
la consola, no es una situaci!n real de explotaci!n7.
Para encontrar un +alor +erdadero tendremos que testear desde el ,ar"cter 8/ de la 9ala Ascii
:asta el 5alor -//.
,omo Podemos Oser+ar en la $iguiente 'magen, el Primer +alor del .suario es ;A<, transformado
al formato Ascii otendra el +alor de =>.
En la Practica 9endramos que ?enerar .. (eticiones /01 2 .34 para @ecin Otener el Primer
+alor del usuario.
A si nos ponemos ien extremistas, si el usuario se llamara zamorano, tendramos que generar 56
peticiones para recin Otener el 5alor. Por lo que se )ace astante lento y tedioso este tipo de
explotaci!n.
A%ora &iene la implementacin de Bsqueda Binaria'
&a #*squeda #inaria se asa en la teora de di+ide y +encer"s. &a 'dea es ir di+idiendo el rango en
mitades.
(or #jemplo : &a cla+e que queremos encontrar es 5'
9enemos el $iguiente $tring
arreglo B6-,/,8,C,>,=,D,E,5,-F,--7G
4i+idimos en / el $tring Oteniendo.
-. @estricci!n B 6 -, /, 8, C, >,= 7 false
/. 7estriccin 8 /09 :9 ;9 59 !69!!4 true
Si se fijan la cantidad de nmeros dentro del arreglo, es impar, por lo que se necesita repetir un
numero dentro de los 2 String resultantes (6), para obtener 2 String on la misma cantidad de
caracteres!
A A)ora 0,u"l seria Nuestro $tring a $eguir2, El que 9enga Nuestro 5alor a #uscar, en este caso el
segundo $tring o la segunda restricci!n.
-. @estricci!n B 6=, D,E7 false
/. 7estriccin 8 /59 !69!!4 true
-. 7estriccin 8 /59!64 true
/. @estricci!n B 6-F,--7 false
-. 7estriccin 8 /54 true
/. @estricci!n B 6-F7 false
1inalmente otenemos nuestro +alor, dentro de la primera restricci!n. ,on una cantidad de C
peticiones.
#sta Misma Metodolo$<a A%ora la Aplicaremos a una Blind SQL Injection'
A)ora Aplicaremos los 5alores de la tala Ascii desde el +alor 8/ )asta el -//.
Arre$lo : 8/H-// I$paceHzJ
7estriccion=!: 8/HD/ I$paceH3J
7estriccin=3: D/H-// I3HzJ
.tiliz"ramos el $iguiente ,onsulta $%&.
Quer* >lo"al:

+and+ (SELECT+IF ((ARREGLO), (RESTRICCION_1), false))

Explicacin:
$i El +alor a encontrar esta entre los +alores del arreglo, entonces consultar si est"n dentro de la
primera restricci!n. por el contrario si el +alor a uscar no esta dentro de la primera restricci!n,
entonces esto significa, que esta dentro de la segunda restricci!n.
Quer* : 7estriccin=!
select+case+(ascii(mid((CONSULTA),SUBSTRING,1))+RESTRICCION_1)+we!+"#$e+"e!+
("#$e)+else+false+e!d

Explicacion :
En el caso que el primer +alor de la consulta este dentro del rango de la restriccion -, entonces
retornara +erdadero. por el contrario retornara falso.
A%ora "ien9 un Simple #jemplo :
Consulta : select+$se#()
?alor de user /4 : AdministradorKlocal)ost.com
?alor a @"tener : A
?alor ASCII :=>
(arametros:
Arre$lo: 8/H-// I$paceHzJ
7estriccion=!: 8/HD/ I$paceH3J
7estriccion=3: D/H-// I3HzJ
Consulta Completa :
""%&''www()s"(c)m'*$l!+(%%,id-1+and+(SELECT+IF((select+case+
(ascii(mid((select+$se#()),1,1))+BETWEEN+./+AND+1//)+we!+"#$e+"e!+("#$e)
+else+false+e!d),(select+case+(ascii(mid((select+$se#()),1,1))
+BETWEEN+./+AND+00)+we!+"#$e+"e!+("#$e)+else+false+e!d),false))11

#)plicacion :
#uscaremos el Primer +alor de la consulta ;select user67<, el cual es A, 6Ascii: =>7, primero
consultaremos si el +alor esta entre 8/H-// I$paceHzJ, si este resulta +erdadero entonces retonara
9@.E , o por el contrario si no esta dentro del rango 8/H-// retornara FALS#'
$i el +alor retornado por la primera consulta es +7,# , entonces consultara si el primer +alor esta
entre 8/HDD I$paceH3J, si esto es +erdadero retornara +7,#, por el contrario retonara FALS# y el
+alor estaria entre D/H-//I3HzJ.
En Esta ,onsulta @educimos Nuestras alternati+as de LF a C>.
A(odr<as Adi&inar que #stado 7etornara la Consulta 9 Si el &alor a Buscar es 0BC
$i Pensaste en +7,#, estas en lo ,orrecto.
&uego En la $egunda +uelta , el rango que se encuentre dentro del +alor a uscar 6en este caso 8/H
DD7, se con+ertir" en nuestro arreglo, y se di+idir" en / /D.3E1BFED11E::F49 as sucesi+amente, )asta
encontrar el +alor final, en solo : consultas'
(ara Demostrar #sta Metodolo$<a Desarrolle un (equeGo (ro$rama que solamente muestra !
carHcter9 en : peticiones'
Aclaro : #s un (oC en (%p'
(osteriormente dentro del La" de ,ndersecurit*'net Se desarrollara la +ool Completa'
Ima$en :
,!digo del PO, &lamado BlindD66l: )ttp:MMli.undersecurity.netMindex.p)p2
doNnloadB.M&aM#&'N4FF&O$O.@,E.txt
9esteado En 3ysql >.x
,url Acti+ado
?racias a toda la ,omunidad .ndersecurity.net
,icCtr-z : logstica 'nfinita
NorP : ,orrecciones y Apoyo en ideas extra+agantes.
-LL>: Apoyo 'ncondicional.
NFFdy :Notale y leal animo a la comunidad.
&ix : Por ser $implemente &ix.
y A muc)os mas que quedaron en el camino.
QOzR I.ndersecurity.netJ

Anda mungkin juga menyukai