Level 5 (practice)

Challenge #1

Description

Appeler la fonction prettyHuman() avec la chaîne de caractères "m5lccw" en argument :

RƩsolution

Ici, deux filtres sont en place : les occurrences du caractère "c" sont supprimées et le caractère " " (espace) n'est également pas disponible. Le filtrage du caractère "c" est gênant car la balise <script></script> n'est pas utilisable :

Je contourne le filtrage du caractĆØre "c" en passant par un tag <svg>ainsi que de l'encodage unicode suivant le contexte. Le "/" me permet de contourner la suppression du caractĆØre " " (espace) :

Challenge #2

Description

Appeler la fonction prettyRobot() avec la chaîne de caractères "elcmf4" en argument mais cette fois sur l'attribut src dans une balise <img /> :

RƩsolution

Il me faut plusieurs essais avant de dĆ©terminer les quelques filtres en place ici. Il semble que l’occurrence "on" ne soit pas permise ainsi que l’occurrence "rr" qui est transformĆ©e en "r". De plus le caractĆØre "t" ne semble pas ĆŖtre permis non plus :

Concernant le "on" de onerror je peux passer par le balise <script></<script>. Pour avoir une seule occurrence de "r" j'en renseigne un second, puis, finalement, j'utilise l'encodage unicode pour contourner le filtre sur le caractĆØre "t" :

Challenge #3

Description

Appeler la fonction politeSuperHero() avec la chaîne de caractères "twxdfu" en argument mais cette fois sur l'attribut href dans une balise <a> :

RƩsolution

Dans ce challenge, le caractère "u" ainsi que le caractère "o" sont filtrés :

Etant donné que le "u" est filtré, il n'est pas possible d'utiliser l'encodage unicode. J'utilise donc les HTML entities pour le filtrage des caractères "o" et "u". Concernant le "u" présent dans la chaîne passée en argument on utilise la fonction String.fromCharCode() . J'utilise également les HTML entities car je me rends compte que la chaîne "String" est également filtrée :

Je me suis rendu compte seulement Ć  posteriori , mais le filtrage sur le "o" est contournable en le doublant (par exemple "oo").

Mis Ć  jour