comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Bypaseando cloudflare (Capa 7)

  • 1 Respuestas
  • 2489 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado inzect02

  • *
  • Underc0der
  • Mensajes: 13
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« en: Noviembre 12, 2014, 11:34:54 pm »
Un poco de teoría:

Como sabrán muchos Cloudflare actúa como proxy inverso filtrando conexiones (Puerto 80/443).
Entre las medidas de seguridad que Cloudflare tiene ante ataques de capa 7 (Nivel de aplicación web) son:

1.- Balanceador de carga (Cloudflare divide la carga entre distintos servidores en todo el mundo).
2.- Filtro de cabeceras http.
3.- Verificación de cookie

Ahora, muchos se preguntarán, ¿Cómo saltarse el modo de "Estoy bajo ataque"?



Antes que nada, informo que nada se obtiene de la suerte, para lograr saltarnos este paso primero hay que analizar a fondo de que manera actúa este mecanismo de defensa.

Para quienes ya hayan analizado un poco se podrán dar cuenta de que una función javascript es la encargada de otorgar o no el acceso a los clientes legítimos.

Algo como esto:
Código: Javascript
  1. <script type="text/javascript">
  2.   //<![CDATA[
  3.   (function(){
  4.     var a = function() {try{return !!window.addEventListener} catch(e) {return !1} },
  5.     b = function(b, c) {a() ? document.addEventListener("DOMContentLoaded", b, c) : document.attachEvent("onreadystatechange", b)};
  6.     b(function(){
  7.       var a = document.getElementById('cf-content');a.style.display = 'block';
  8.       setTimeout(function(){
  9.         var t,r,a,f, mdyTuiL={"eD":+((!+[]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![]))};
  10.         t = document.createElement('div');
  11.         t.innerHTML="<a href='/'>x</a>";
  12.         t = t.firstChild.href;r = t.match(/https?:\/\//)[0];
  13.         t = t.substr(r.length); t = t.substr(0,t.length-1);
  14.         a = document.getElementById('jschl-answer');
  15.         f = document.getElementById('challenge-form');
  16.         ;mdyTuiL.eD*=!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![];mdyTuiL.eD+=!+[]+!![]+!![];mdyTuiL.eD*=!+[]+!![]+!![]+!![];mdyTuiL.eD*=+((+!![]+[])+(!+[]+!![]));mdyTuiL.eD+=+((!+[]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]));mdyTuiL.eD+=+((+!![]+[])+(+!![]));mdyTuiL.eD+=+((!+[]+!![]+[])+(!+[]+!![]+!![]+!![]));mdyTuiL.eD+=+((+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]));mdyTuiL.eD+=+((+!![]+[])+(+!![]));a.value = parseInt(mdyTuiL.eD, 10) + t.length;
  17.         f.submit();
  18.       }, 5850);
  19.     }, false);
  20.   })();
  21.   //]]>
  22. </script>

Vale, viéndolo de este modo es algo confuso, ustedes se preguntarán ¿Cómo esta función identifica a un cliente legítimo?
Pues la respuesta esta en el mismo javascript, generalmente un bot no puede ejecutar javascript ( a menos de que se haya configurado para hacerlo), y en el supuesto de que este sea el caso, Cloudflare tambien combina el uso de html.

Código: HTML5
  1. <You are not allowed to view links. Register or Login id="challenge-form" action="/cdn-cgi/l/chk_jschl" method="get">
  2.     <You are not allowed to view links. Register or Login type="hidden" name="jschl_vc" value="339b52c916b4b33d83d0737d068d6d99"/>
  3.     <You are not allowed to view links. Register or Login type="hidden" id="jschl-answer" name="jschl_answer"/>
  4.   </You are not allowed to view links. Register or Login>
  5. </You are not allowed to view links. Register or Login>

Viéndolo de esta manera, para lograr ejecutar javascript & html tendríamos que ser un navegador web; en efecto, esa es la respuesta: solo un navegador web podría ejecutar cierta función y obtener la cookie que será la encargada de otorgarnos el acceso al host solicitado. Lástima no podemos ejecutar código html, ni javascript, así que no podremos...

Un momento...pero la tecnología avanza y los tiempos cambian así que ¿por qué no convertir nuestro bot en un navegador ?

Analizamos la función y vemos que es lo que hace exactamente:

4 variables que almacenan información básica (una de los cuales es el esquema y la longitud de host), así como un objeto de nombre aleatorio que contiene la respuesta real "desafío".

La respuesta se calcula con algunas operaciones aritméticas que se encuentra semi ofuscado dentro del código para hacernos un poco mas complicado el trabajo, y se añade a la entrada "jschl_answer" del formulario.
A la respuesta se envía entonces al directorio: "/cdn-cgi/l/chk_jschl", que valida la respuesta al "desafío" y, si tiene éxito, devuelve un código de respuesta (301) al recurso solicitado inicialmente, así como una cookie "cf_clearance".

Esto lo solucionamos con un poco de código :


Ahora, tenemos la cookie! lo que significa que de esta cookie en solicitudes posteriores no pasa por nuevos "desafios" y podremos visualizar el sitio web con normalidad.

Cada solicitud contiene diferentes operaciones aritméticas, y la coookie "cf_clearance" está restringida a una dirección IP individua;  lo que quiere decir que esta cookie no se puede usar en otros ordenadores con diferente dirección IP.

PD: Esto no es un tutorial, si no un ejemplo de como funciona Cloudflare y como tan fácil se puede saltar, es por ello que no incluiré el source para hacer esto.

Buenas noches.
« Última modificación: Mayo 11, 2015, 01:20:56 pm por ANTRAX »

Desconectado Y3K

  • *
  • Underc0der
  • Mensajes: 173
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #1 en: Noviembre 13, 2014, 01:36:47 am »
Pues sí :)

Además puedes bajar CEF y con Node.js usarlo a tu antojo para saltar todo éste tipo de protecciones.

 

¿Te gustó el post? COMPARTILO!



Pack Tools Defacing (Symlink-Cpanel Cracker-Shells-Bypass Cloudflare)

Iniciado por Bin3ximal

Respuestas: 0
Vistas: 2314
Último mensaje Mayo 04, 2013, 08:30:44 pm
por Bin3ximal
Bypass Cloudflare (2 metodos)

Iniciado por ZanGetsu

Respuestas: 3
Vistas: 1984
Último mensaje Agosto 07, 2013, 07:21:06 pm
por BlackDead
SQLi bypaseando el firewall y pasando el examen!

Iniciado por arthusu

Respuestas: 5
Vistas: 2309
Último mensaje Junio 07, 2013, 10:12:11 pm
por morodog