Το WAF bypass Tool είναι ένα εργαλείο ανοιχτού κώδικα για την ανάλυση της ασφάλειας οποιουδήποτε WAF (Web Application Firewall) για ψευδώς θετικά και ψευδώς αρνητικά αποτελέσματα χρησιμοποιώντας προκαθορισμένα και προσαρμόσιμα payloads.
Ελέγξτε το WAF σας πριν το κάνει κάποιος επιτιθέμενος. Το WAF Bypass Tool αναπτύσσεται από την ομάδα Nemesida WAF με τη συμμετοχή της κοινότητας.
Τόσο σαν αμυνόμενος όσο και σαν επιτιθέμενος, χρησιμοποιώντας αυτό το εργαλείο, μπορείτε να γνωρίζεται εκ των προτέρων, ποιες επιθέσεις μπορούν να περάσουν το εκάστοτε firewall έτσι ώστε να μην χάνεται χρόνο σε περαιτέρω δοκιμές.
Εγκατάσταση
Table of Contents
Docker
# docker pull nemesida/waf-bypass # docker run nemesida/waf-bypass --host='example.com'
GitHub
# git clone https://github.com/nemesida-waf/waf_bypass.git /opt/waf-bypass/ # python3 -m pip install -r /opt/waf-bypass/requirements.txt # python3 /opt/waf-bypass/main.py --host='example.com'
Payloads
Ανάλογα με το σκοπό, τα payloads βρίσκονται στους κατάλληλους φακέλους:
- FP – False Positive payloads
- API – API testing payloads
- CM – Custom HTTP Method payloads
- GraphQL – GraphQL testing payloads
- LDAP – LDAP Injection etc. payloads
- LFI – Local File Include payloads
- MFD – multipart/form-data payloads
- NoSQLi – NoSQL injection payloads
- OR – Open Redirect payloads
- RCE – Remote Code Execution payloads
- RFI – Remote File Inclusion payloads
- SQLi – SQL injection payloads
- SSI – Server-Side Includes payloads
- SSRF – Server-side request forgery payloads
- SSTI – Server-Side Template Injection payloads
- UWA – Unwanted Access payloads
- XSS – Cross-Site Scripting payloads
Γράψτε τα δικά σας payloads
Κατά τη μεταγλώττιση ενός payload, χρησιμοποιούνται οι ακόλουθες ζώνες, μέθοδοι αλλά και επιλογές:
- URL – request’s path
- ARGS – request’s query
- BODY – request’s body
- COOKIE – request’s cookie
- USER-AGENT – request’s user-agent
- REFERER – request’s referer
- HEADER – request’s header
- METHOD – request’s method
- BOUNDARY – καθορίζει τα περιεχόμενα του ορίου της αίτησης. Ισχύει μόνο για τα payloads στον κατάλογο MFD.
- ENCODE – ικοποίησης του payload (Base64, HTML-ENTITY, UTF-16) εκτός από την κωδικοποίηση του ωφέλιμου φορτίου. Οι πολλαπλές τιμές υποδεικνύονται με ένα κενό (π.χ. Base64 UTF-16). Ισχύει μόνο για τις ζώνες ARGS, BODY, COOKIE και HEADER. Δεν ισχύει για τα payloads στους καταλόγους API και MFD. Δεν είναι συμβατό με την επιλογή JSON.
- JSON – καθορίζει ότι το body της αίτησης πρέπει να είναι σε μορφή JSON
- BLOCKED – καθορίζει αν η αίτηση θα πρέπει να μπλοκαριστεί (δοκιμή FN) ή όχι (FP)
Μπορείτε να κατεβάσετε το πρόγραμμα από εδώ.