WAF (Web Application Firewall), basit olarak, bir web uygulaması ile internet arasındaki http trafiğini filtreleyerek ve izleyerek web uygulamasının korunmasına yardımcı olur.
Genellikle web uygulamalarını siteler arası sahtecilik, siteler arası komut dosyası oluşturma (XSS), dosya ekleme ve SQL enjeksiyonu gibi saldırılardan korur. WAF, bir protokol katmanı 7 savunmasıdır (OSI modelinde) ve her türlü saldırıya karşı savunmak için tasarlanmamıştır. Bu saldırı hafifletme yöntemi genellikle bir dizi saldırı vektörüne karşı bütünsel bir savunma oluşturan bir takım araçların parçasıdır.
Wafw00f aracı da işte web uygulamalarınızı koruyan çözümlerin olup olmadığını ve varsa waf adını ve üreticisini bulmaya yaramaktadır.
Şu anda 150 adet WAF çözümünü tespit edebildiği belirtilmiş. (wafw00f -l komutu ile çözümler listelenebilir)
$ wafw00f -l
______
/ \
( Woof! )
\ ____/ )
,, ) (_
.-. - _______ ( |__|
()``; |==|_______) .)|__|
/ (' /|\ ( |__|
( / ) / | \ . |__|
\(_)_)) / | \ |__|
~ WAFW00F : v2.1.0 ~
The Web Application Firewall Fingerprinting Toolkit
[+] Can test for these WAFs:
WAF Name Manufacturer
-------- ------------
ACE XML Gateway Cisco
aeSecure aeSecure
AireeCDN Airee
Airlock Phion/Ergon
Alert Logic Alert Logic
AliYunDun Alibaba Cloud
...
...
git clone https://github.com/enablesecurity/wafw00f
cd wafw00f
sudo apt-get install -y python-setuptools
python setup.py install
wafw00f
yazıp enterleyinroot@test:~/wafw00f# wafw00f
______
/ \
( Woof! )
\ ____/ )
,, ) (_
.-. - _______ ( |__|
()``; |==|_______) .)|__|
/ (' /|\ ( |__|
( / ) / | \ . |__|
\(_)_)) / | \ |__|
~ WAFW00F : v2.1.0 ~
The Web Application Firewall Fingerprinting Toolkit
Usage: wafw00f url1 [url2 [url3 ... ]]
example: wafw00f http://www.victim.org/
wafw00f -h
komutu girinroot@test:~/wafw00f# wafw00f -h
Usage: wafw00f url1 [url2 [url3 ... ]]
example: wafw00f http://www.victim.org/
Options:
-h, --help show this help message and exit
-v, --verbose Enable verbosity, multiple -v options increase
verbosity
-a, --findall Find all WAFs which match the signatures, do not stop
testing on the first one
-r, --noredirect Do not follow redirections given by 3xx responses
-t TEST, --test=TEST Test for one specific WAF
-o OUTPUT, --output=OUTPUT
Write output to csv, json or text file depending on
file extension. For stdout, specify - as filename.
-i INPUT, --input-file=INPUT
Read targets from a file. Input format can be csv,
json or text. For csv and json, a `url` column name or
element is required.
-l, --list List all WAFs that WAFW00F is able to detect
-p PROXY, --proxy=PROXY
Use an HTTP proxy to perform requests, examples:
http://hostname:8080, socks5://hostname:1080,
http://user:pass@hostname:8080
-V, --version Print out the current version of WafW00f and exit.
-H HEADERS, --headers=HEADERS
Pass custom headers via a text file to overwrite the
default header set.
root@test:~/wafw00f# wafw00f https://docs.secops.com.tr
______
/ \
( W00f! )
\ ____/
,, __ 404 Hack Not Found
|`-.__ / / __ __
/" _/ /_/ \ \ / /
*===* / \ \_/ / 405 Not Allowed
/ )__// \ /
/| / /---` 403 Forbidden
\\/` \ | / _ \
`\ /_\\_ 502 Bad Gateway / / \ \ 500 Internal Error
`_____``-` /_/ \_\
~ WAFW00F : v2.1.0 ~
The Web Application Firewall Fingerprinting Toolkit
[*] Checking https://docs.secops.com.tr
[+] The site https://docs.secops.com.tr is behind Cloudflare (Cloudflare Inc.) WAF.
[~] Number of requests: 2