Bagaimana Menemukan WAF Mana yang Melindungi Situs Web?
Diterbitkan: 2021-10-11Itu selalu merupakan ide yang baik bagi penyerang untuk mengetahui di mana WAF biasanya digunakan pada jaringan sebelum mereka memulai sidik jari.
Penguji penetrasi harus mengetahui WAF sebelum memulai keterlibatan aplikasi web karena hasil serangan mereka mungkin terpengaruh.
Tapi sebelum itu…
Apa itu WAF?
WAF (Web Application Firewall) memainkan peran penting dalam keamanan situs web. Mereka menyaring dan memantau lalu lintas. Firewall Aplikasi Web memberikan perlindungan terhadap kelemahan utama. Banyak organisasi memodernisasi infrastruktur mereka untuk menyertakan firewall aplikasi web. Menurut pakar peretasan etis, firewall aplikasi web tidak dapat memperbaiki masalah keamanannya sendiri; konfigurasi yang memadai diperlukan untuk mengenali dan memblokir ancaman eksternal.
WAF berbeda dari firewall tradisional karena dapat menyaring konten aplikasi online tertentu, sedangkan firewall tradisional bertindak sebagai penghalang keamanan antar server.

Interaksi HTTP tunduk pada seperangkat aturan. Aturan ini mengatasi kerentanan khas seperti skrip lintas situs dan injeksi SQL secara umum.
Ada banyak alat gratis dan sumber terbuka di internet yang dapat menemukan firewall di balik aplikasi web.
Dan dalam artikel ini, kita akan melihat pendekatan dan alat yang dapat digunakan untuk menemukan WAF.
Harap diperhatikan: Dalam tutorial ini, saya telah menggunakan situs saya sendiri untuk menghitung detailnya. Jangan melakukan pemindaian atau aktivitas peretasan lainnya di situs web mana pun tanpa izin sebelumnya dari pemiliknya.
Penemuan Manual
Mendeteksi menggunakan TELNET
Telnet terutama digunakan oleh administrator jaringan dan penguji penetrasi. Telnet memungkinkan Anda untuk terhubung ke host jarak jauh melalui port apa pun, seperti yang dinyatakan sebelumnya.
- Parameter HTTP sering dibiarkan (atau disisipkan) di header respons oleh firewall aplikasi web.
- Telnet dapat digunakan untuk memperoleh informasi pengumpulan dasar seperti server dan cookie yang digunakan dalam sidik jari.
- Ketik
Telnet Targetwebsite.com 80
[email protected]: # telnet Targetwebsite.com 80 Trying 18.166.248.208... Connected to Targetwebsite.com. Escape character is '^]'. Setelah menjalankan perintah di atas, tulis HEAD / HTTP / 1.1 dan tekan tombol enter.
[email protected]: # telnet 18.166.248.208 80 Trying 18.166.248.208... Connected to 18.166.248.208. Escape character is '^]'. HEAD / HTTP/1.1 Host: 18.166.248.208 HTTP/1.1 200 OK Date: SUN, 10 Oct 2021 05:08:03 IST Server: Apache X-Powered-By: PHP/5.3.5 ZendServer/5.0 Set-Cookie: SESSIONID VULN SITE=t25put8gliicvqf62u3ctgjm21; path=/ Expires: Thu, 19 Nov 1981 08:52:00 IST Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache X-Varnish: 4723782781 Age: 0 Via: 1.1 varnish Connection: close Content-Type: text/html Connection closed by foreign host.Ini menunjukkan server tempat situs web di-host dan bahasa back-end tempat situs itu dibuat setelah menggunakan telnet pada port target 80.
Beberapa sistem WAF memungkinkan header untuk dimodifikasi, dan mereka juga dapat menyebabkan server web mengirim balasan HTTP yang berbeda dari yang standar.
Seperti yang ditunjukkan pada hasil di atas, server web menanggapi permintaan kami dan mengungkapkan bahwa gateway firewall/edge adalah Varnish.
Penemuan Otomatis
#1. Mendeteksi menggunakan NMAP
Nmap, yang memiliki skrip yang dapat mengidentifikasi firewall aplikasi web, juga dapat digunakan untuk tujuan ini.
- Nmap adalah alat penilaian keamanan yang biasanya digunakan oleh banyak penguji pena dan administrator jaringan.
- Nmap digunakan untuk mendapatkan informasi tentang target.
- Script dijalankan terhadap halaman web yang sama seperti sebelumnya
- Ketik perintah
nmap –script=http-waf-fingerprint targetweb.com
[email protected]:# nmap --script=http-waf-fingerprint targetwebsite.com Starting Nmap 7.90 ( https://nmap.org ) at 2021-10-10 07:58 IST Nmap scan report for targetsite.com (18.166.248.208) Host is up (0.24s latency). Not shown: 982filtered ports PORT STATE SERVICE 53/tcp open domain 80/tcp open http | http-waf-fingerprint: | Detected WAF | Citrix Netscaler 443/tcp open https 5432/tcp closed postgresql 8080/tcp closed http-proxy Nmap done: 1 IP address (1 host up) scanned in 25.46 secondsSetelah menggunakan perintah Nmap di atas, firewall Citrix Netscaler terdeteksi.
#2. Mendeteksi menggunakan Whatwaf
Whatwaf adalah alat keamanan untuk aplikasi web sidik jari dan mendeteksi keberadaan WAF apa pun. Alat ini berguna untuk menentukan apakah aplikasi web dilindungi oleh WAF selama penilaian keamanan.
Jika hal ini terjadi, melewati dan menghindari strategi dapat membantu dalam pengujian lebih lanjut atau mengeksploitasi aplikasi online.
Melewati firewall, deteksi aplikasi, sidik jari aplikasi, dan identifikasi perangkat lunak semuanya sering digunakan untuk WhatWaf. Jaringan
Penguji pena dan profesional keamanan adalah pengguna yang dituju dari program ini.
Bagaimana cara menginstal WhatWaf?
Instalasi di Kali-Linux
sudo apt install python3-pip git clone https://github.com/ekultek/whatwaf cd whatwaf sudo pip3 install -r requirements.txtSaat peluncuran, tanpa versi Python, kita dapat dengan mudah menentukan file yang dapat dieksekusi:
./whatwaf --help
Namun, karena kami tidak menginstal dependensi Python 2, Anda disarankan untuk menyediakan versi Python secara khusus.
python3 ./whatwaf --helpPenggunaan Alat
Alat pendeteksi firewall Whatwaf mudah digunakan! Kita hanya perlu menjalankan perintah berikut:

./whatwaf -u https://www.targetsite.comSeperti yang Anda lihat di bawah, alat ini mendeteksi firewall untuk URL situs web yang disediakan.
Pengingat! – Saya menggunakan situs saya sendiri untuk pemindaian
┌──(rootkali)-[/home/writer/WhatWaf] └─# ./whatwaf -u https://www.renjith.org ,------. ' .--. ' ,--. .--. ,--. .--.| | | | | | | | | | | |'--' | | | | | | | | | | __. | | |.'.| | | |.'.| | | .' | | | | |___| | ,'. |hat| ,'. |af .---. '--' '--' '--' '--' '---' /><script>alert("WhatWaf?<|>v2.0.3($dev)");</script>%00 [11:12:34][ERROR] you must install psutil first `pip install psutil` to start mining XMR [11:12:34][INFO] checking for updates [11:12:34][WARN] it is highly advised to use a proxy when using WhatWaf. do so by passing the proxy flag (IE `--proxy http://127.0.0.1:9050`) or by passing the Tor flag (IE `--tor`) [11:12:34][INFO] using User-Agent 'whatwaf/2.0.3 (Language=2.7.18; Platform=Linux)' [11:12:34][INFO] using default payloads [11:12:34][INFO] testing connection to target URL before starting attack [11:12:35][SUCCESS] connection succeeded, continuing [11:12:35][INFO] running single web application 'https://www.renjith.org' [11:12:35][WARN] URL does not appear to have a query (parameter), this may interfere with the detection results [11:12:35][INFO] request type: GET [11:12:35][INFO] gathering HTTP responses [11:12:42][INFO] gathering normal response to compare against [11:12:42][INFO] loading firewall detection scripts [11:12:42][INFO] running firewall detection checks [11:12:44][FIREWALL] detected website protection identified as 'Apache Generic' [11:12:44][INFO] starting bypass analysis [11:12:44][INFO] loading payload tampering scripts [11:12:45][INFO] running tampering bypass checks [11:19:09][SUCCESS] apparent working tampers for target: ------------------------------ (#1) description: tamper payload by changing characters into a wildcard example: '/bin/cat /et?/?asswd' load path: content.tampers.randomwildcard ------------------------------Seperti yang ditunjukkan pada hasil di atas, server web menanggapi permintaan kami dan mengungkapkan bahwa firewallnya adalah Apache. Kami juga dapat menggunakan layanan tor untuk memindai WAF, tetapi ini dapat meningkatkan latensi.
./whatwaf -u https://www.targetsite.com --torKeuntungan utama dari alat Whatwaf adalah, ia secara otomatis mencoba memberikan muatan untuk melewati firewall yang terungkap.
#3. Mendeteksi Menggunakan Wafw00f
Alat yang paling terkenal untuk mendeteksi firewall aplikasi web adalah Wafw00f. Wafw00f mengirimkan permintaan HTTP ke firewall aplikasi web untuk mengidentifikasinya. Saat mengirim permintaan HTTP gagal, wafw00f membuat permintaan HTTP berbahaya. Jika membuat permintaan HTTP berbahaya gagal, wafw00f memeriksa permintaan HTTP sebelumnya dan menggunakan algoritme sederhana untuk menentukan apakah firewall aplikasi web bereaksi terhadap serangan kami.
Wafw00f tidak diinstal sebelumnya di distribusi Kali Linux.
Bagaimana cara menginstal Wafw00f?
Paket zip tersedia untuk diunduh dari sumber resmi GitHub.
Unduh Alat Wafwoof. Anda juga dapat menggunakan klien git untuk mengkloning repositori. Untuk mendapatkan paket, jalankan perintah:
$ git clone https://github.com/EnableSecurity/wafw00f.gitUntuk mengunduh alat wafw00f di sistem, navigasikan ke folder atau direktori wafw00f dan lakukan perintah berikut.
$ python setup.py installFile setup akan diproses, dan wafw00f akan diinstal di sistem.
Penggunaan Alat
Untuk menggunakan alat ini, jalankan perintah ini.
$ wafw00f <url>PENGINGAT – Hanya pindai situs web yang diizinkan untuk Anda uji
┌──(rootkali)-[/home/writer/wafw00f] └─# wafw00f https://webhashes.com ______ / \ ( Woof! ) \ ____/ ) ,, ) (_ .-. - _______ ( |__| ()``; |==|_______) .)|__| / (' /|\ ( |__| ( / ) / | \ . |__| \(_)_)) / | \ |__| ~ WAFW00F : v2.1.0 ~ The Web Application Firewall Fingerprinting Toolkit [*] Checking https://whatismyip.com [+] The site https://whatismyip.com is behind Cloudflare (Cloudflare Inc.) WAF. [~] Number of requests : 2Sayang sekali, firewall terdeteksi!
Kami akan mencoba situs web target yang berbeda untuk tujuan diskusi.
┌──(rootkali)-[/home/writer/wafw00f] └─# wafw00f https://renjith.org ______ / \ ( Woof! ) \ ____/ ) ,, ) (_ .-. - _______ ( |__| ()``; |==|_______) .)|__| / (' /|\ ( |__| ( / ) / | \ . |__| \(_)_)) / | \ |__| ~ WAFW00F : v2.1.0 ~ The Web Application Firewall Fingerprinting Toolkit [*] Checking https://renjith.org [+] Generic Detection results: [-] No WAF detected by the generic detection [~] Number of requests: 7Tidak ada Firewall yang terdeteksi kali ini.
Dan untuk menggunakannya dalam mode verbose, jalankan perintah berikut.
wafw00f <url> -vAnda dapat melihat beberapa kemampuan tambahan dari utilitas ini dengan menjalankan perintah ini.
wafw00f <url> --helpMembungkus
Pada artikel ini, kami melihat berbagai strategi dan alat untuk mendeteksi firewall aplikasi web. Ini adalah aktivitas penting yang harus dilakukan selama tahap pengumpulan informasi dari setiap pengujian penetrasi aplikasi web.
Selain itu, mengetahui bahwa WAF tersedia memungkinkan penguji penetrasi untuk mencoba berbagai pendekatan untuk mengatasi pertahanan dan mengeksploitasi lubang apa pun di aplikasi online.
Menurut seorang peneliti peretasan etis, memiliki firewall aplikasi web (WAF) semakin diperlukan. Menganalisis log aplikasi web Anda untuk mendeteksi serangan baru yang terjadi pada server aplikasi web back-end selalu penting. Ini memungkinkan Anda untuk menyesuaikan aturan di firewall aplikasi web Anda untuk memberikan tingkat perlindungan tertinggi.
Anda mungkin juga tertarik untuk membaca: Kerentanan menggunakan Nikto Scanner.
