viernes, 12 de octubre de 2018

Explotación de comportamientos extraños en MS Edge e IE para evitar Linkshim de Facebook

La siguiente publicación está inspirada en un all-shars unicode shazz de @insertscript . Después de que vi que Gareth Heyes lo recomendaba en un tweet , comencé a buscar de inmediato más caracteres que Internet Explorer y MS Edge pueden interpretar de manera horrible, y confunde al analizador del host principal para usar y omitir Linkshim de Facebook .

Fuzzing:

<a href=”/[$]example.com” id=”fuzzmeiah”>fuzz</a>
<script>

chars = [];
for(i=0;i<=0xffff;i++){
    if(document.getElementById('fuzzmeiah').hostname==example.com) {
      chars.push(i);
      console.log(chars.join('\n'))
     }
}

</script>
Result:


Character 1: 〱- 'VERTICAL KANA REPEAT MARK' (Ux3031)


El primero funciona tanto para IE como para Edge es0xE3 0x80 0xB1 (e380b1 aka 〱) , cuando se conecta solo o después de una barra diagonal, confunde a los analizadores para malinterpretar el nombre de host.


<a href="/〱example.comВID===fuzzmeiahIST> fuzz </a>


Esto se puede probar tanto en MS Edge como en Internet Explorer cambiando los enlaces que Facebook espera que sean URI relativos y, por lo tanto, no los pasa a un punto final de validación de linkshim, lo que permite la redirección a un sitio de lista negra (en este ejemplo, el usuario debe hacer clic en continuar o cancelar)



Character 2: 〵- 'VERTICAL KANA REPEAT MARK LOWERHALF' (Ux3035)




Character 3: ゝ- 'HIRAGANA ITERATION MARK' (0x309d)




Character 4: ー 'KATAKANA-HIRAGANA PROLONGED SOUND MARK' (0x30fc)



Character 5: ー 'HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK' (0xff70)


 
Facebook no soluciona este problema específico, ya que creen que es más culpa de los proveedores de navegadores y no deberían solucionarse desde su lado. Aunque no estoy de acuerdo con su decisión, creo que un pequeño porcentaje de los usuarios de Facebook usan IE o Edge, por lo que no me molesté en intentar cambiar de opinión. Espero que esta publicación inspire a Microsoft o Facebook para solucionar este problema.

Espero que hayan disfrutado la lectura. =)

No hay comentarios.:

Publicar un comentario