Bloqueando un ataque Iframe

Ver el tema anterior Ver el tema siguiente Ir abajo

default Bloqueando un ataque Iframe

Mensaje por Lorena Wells el Dom Ago 04, 2013 1:51 pm

¿Qué es un ataque iframe?

Un ataque iframe se puede usar para amplificar un DDoS a cualquier página web.

Por ejemplo, LOIC usa el ataque iframe (con javascript) para amplificar el ataque.

Tan sólo tienes que buscar un script php que consuma bastantes recursos y hacer varios iframes muy pequeños (no visibles, de 1x1 pixels ) para que la persona (o botnets) que visiten la web del atacante cargen la URL, la que está dentro del iframe, tantas veces como iframes añadas (DoS).

Un iframe también se puede usar para ataques CSRF (Cross-site request forgery)

Un iframe de 1x1 no es visible pero cargado muchas veces puede causar una denegación de servicios.

Código:
<IFRAME SRC="http://www.dominio.com/" WIDTH="1" HEIGHT="1"> </IFRAME>
<IFRAME SRC="http://www.dominio.com/" WIDTH="1" HEIGHT="1"> </IFRAME>

La manera más sencilla de bloquear el ataque es usando javascript:
Código:
   <script type="text/javascript">if(top.location != self.location)top.location = self.location;</script>

Si detecta que no es la única ventana, se abre en pantalla completa.

Si atacan tu Apache con un ataque iframe puedes mirar los logs del apache para detectar el Referer
linux escribió:[..]
83.155.147.165 - - [17/Apr/2006:16:57:25 +0200] "GET / HTTP/1.1" 200 539 "http://piupiu23.100free.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
24.141.160.234 - - [17/Apr/2006:16:57:25 +0200] "GET / HTTP/1.1" 200 539 "http://piupiu23.100free.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
201.244.210.100 - - [17/Apr/2006:16:57:25 +0200] "GET / HTTP/1.1" 200 539 "http://piupiu23.100free.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)"
81.31.8.118 - - [17/Apr/2006:16:57:25 +0200] "GET / HTTP/1.1" 200 539 "http://piupiu23.100free.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"
68.60.213.133 - - [17/Apr/2006:16:57:25 +0200] "GET / HTTP/1.1" 200 539 "http://piupiu23.100free.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"
81.193.26.49 - - [17/Apr/2006:16:57:25 +0200] "GET / HTTP/1.1" 200 539 "http://piupiu23.100free.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
68.191.253.217 - - [17/Apr/2006:16:57:25 +0200] "GET / HTTP/1.1" 200 539 "http://piupiu23.100free.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
82.79.10.44 - - [17/Apr/2006:16:57:25 +0200] "GET / HTTP/1.1" 200 539 "http://piupiu23.100free.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Mailinfo [313789]; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"
[..]

Tenemos muchas ips, muchos navegadores y un sólo denominador común, el HTTP Referer.

Miramos el código fuente del "Referer"

[Tienes que estar registrado y conectado para ver este vínculo]

Y sorpresa:
Código:
<iframe src=http://foro.elhacker.net/ width="1" height="1" align="center" scrolling="No" id="Resultado2" style="border: 2px dashed #78808C"> </iframe></body>

Vamos a bloquearlo.

Usaremos una regla muy sencilla del mod_rewrite del apache, para cuando el referer sea el atacante le muestre un "Forbidden".

Código:
#ataque iframe
<Directory "/www/var/public_html/">
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://()?piupiu23.*$ [OR]
# and so on
RewriteCond %{HTTP_REFERER} ^http://piupiu23.100free.com/
RewriteRule .* - [F,L]
</Directory>

Comprobamos si funciona:
Cita escribió:[root@lan root]# curl -e "http://piupiu23.100free.com/" [Tienes que estar registrado y conectado para ver este vínculo]


403 Forbidden

Forbidden


You don't have permission to access /
on this server.


Si te atacan con un programa para hacer DDoS (entre varios) debes mirar el "User-Agent":
Código:
"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FunWebProducts; HbTools 4.6.2)"
Aplicas una nueva regla con el mod_rewrite pero mirando el User-Agent "FunWebProducts".

Ahora vamos a ver como bloquear el HTTP Refererr usando el mod_security (un módulo del Apache para aumentar la seguridad del Apache y de los scripts php).
Código:
SecFilterSelective HTTP_Referer|ARGS
"webdelataque\.com""deny,nolog,status:403"
Simplemente le decimos que si el Referer es la web del atacante que no lo guarde en el log (si el ataque es muy grande se formaría un log enorme) y le devuelva un código HTTP 403 (Prohibido).

También puedes devolverle el ataque redireccionado sus peticiones hacia el mismo:
Código:
SecFilterSelective HTTP_Referer|ARGS
"webdelataque\.com""deny,nolog,redirect:http://www.webdelataque.com"
O bien sacar un molesto Alert en javascript para que se vea obligado a quitar el iframe:
Código:
SecFilterSelective HTTP_Referer|ARGS
"webdelataque\.com""deny,nolog,redirect:http://www.tuweb.com/bucle.html"
Código:
<html><head><body></script>while(1) { alert("bad boy!"); }</script></body></html>
Y en bucle.html poner:
avatar
Lorena Wells
RootAdmin
RootAdmin

Puntos : 270
Reputación : 1
Mensajes : 64
Pais Peru


http://team-aportes.foromx.net

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.